KR101986081B1 - 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법 - Google Patents

블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법 Download PDF

Info

Publication number
KR101986081B1
KR101986081B1 KR1020180168117A KR20180168117A KR101986081B1 KR 101986081 B1 KR101986081 B1 KR 101986081B1 KR 1020180168117 A KR1020180168117 A KR 1020180168117A KR 20180168117 A KR20180168117 A KR 20180168117A KR 101986081 B1 KR101986081 B1 KR 101986081B1
Authority
KR
South Korea
Prior art keywords
block
node
nodes
transaction
sharing
Prior art date
Application number
KR1020180168117A
Other languages
English (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 KR1020180168117A priority Critical patent/KR101986081B1/ko
Application granted granted Critical
Publication of KR101986081B1 publication Critical patent/KR101986081B1/ko
Priority to SG11202106480PA priority patent/SG11202106480PA/en
Priority to PCT/KR2019/014749 priority patent/WO2020130331A1/ko
Priority to EP19899558.1A priority patent/EP3902227A4/en
Priority to JP2021536101A priority patent/JP7146093B2/ja
Priority to CN201980084992.1A priority patent/CN113508570B/zh
Priority to US17/349,539 priority patent/US11232234B2/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/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/1093Some peer nodes performing special functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 다양한 실시 예는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법에 관한 것이다. 본 발명의 일 실시예에 따른 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법은 상기 복수의 노드들 중에서 적어도 하나의 제1 노드가 상기 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성하는 단계; 기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여 적어도 하나의 블록을 생성하는 단계; 및 상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 블록을 상기 식별 정보에 기반하여 상기 특정 노드들에게 공유하는 단계를 포함할 수 있다. 다른 실시 예들도 가능할 수 있다.

Description

블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법{METHOD FOR SHARING AND VERIFING A BLOCK BETWEEN SPECIFIC NODES IN A BLOCKCHAIN}
본 발명은 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법에 관한 것으로, 보다 자세하게는 블록체인에 포함된 복수의 노드들 중 블록을 공유할 특정 노드들을 그룹으로 지정하지 않으면서도 효율적으로 노드들간 블록을 공유하고 검증하는 방법에 관한 것이다.
블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드들이 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 체인 형태의 자료 구조로 구성된 데이터 그 자체를 의미한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed edger) 형태로 운영된다.
블록체인 기술은, 분산 데이터 관리 또는 데이터 위변조 방지를 위해 다양한 분야에 응용될 수 있다. 예를 들어, 블록체인 기술이 금융 분야에 응용되는 경우, 신뢰를 보증하는 중앙 금융기관이 없어도, 분산된 각각의 블록체인 노드가 관리하는 분산 원장을 통해 거래 당사자가 안전하게 거래를 수행할 수 있다.
한편, 블록체인은 퍼블릭(public) 블록체인과 프라이빗(privit) 블록체인으로 구분될 수 있는데, 특히 금융권 및 기업 등 특정 이해관계를 가진 단체들은 퍼블릭 블록체인 대신 허가된 기관만 열람이 가능한 프라이빗 블록체인을 선호하고 있다. 따라서, 프라이빗 블록체인은 퍼블릭 블록체인과 달리 블록체인에 참여한 노드들 중 이해관계에 따라 특정 노드들만 특정 블록을 공유하는 방법이 이루어지고 있다.
예를 들어, 특정 노드 간 블록을 공유하는 방법은 사전에 블록을 공유할 노드들을 그룹으로 지정하여 이루어졌다. 그러나 이렇게 사전에 블록을 공유할 노드들을 지정 할 경우, 블록체인을 활용 및 운용하는 측면에서 하기와 같이 3 가지 문제점이 있다.
첫 번째 문제점으로서, 블록을 공유할 노드들의 그룹 지정이 동적으로 운용되지 못하여 기존에 지정 된 그룹에 새로운 노드를 추가하기 위해서는 신규 그룹을 지정해야 하므로 블록을 공유할 그룹이 불필요하게 증가하게 된다. 따라서, 그룹 증가에 따른 관리의 비효율성이 증가한다.
두 번째 문제점으로서, 블록을 공유하는 노드들의 그룹에서 저장 및 관리되는 블록은 노드들의 그룹이 해제 될 경우 삭제된다. 따라서, 그룹이 삭제된 이후 상기 관리되는 블록을 계속 조회하기 위해 별도로 저장을 해야하므로 블록체인 내의 복수의 노드들에 있어서 저장공간의 비효율성이 존재한다.
세 번째 문제점으로서, 그룹으로 지정 된 노드들만 공유하는 블록은 다른 노드들은 공유하지 못하여 블록체인에 참여한 모든 노드들에 의해 블록의 무결성이 검증될 수 없어 해당 블록체인의 전반적인 신뢰성이 낮아진다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 사전에 미리 그룹을 지정하지 않고 모든 노드들이 블록을 공유하되, 블록에 포함된 식별 정보에 기반하여, 블록과 관련된 특정 노드들은 트랜잭션 정보를 포함하는 블록을 공유하고 블록과 관련 없는 나머지 노드들은 블록 헤더만을 포함하는 블록을 공유함으로써 블록체인 전체 노드들의 관리의 효율성을 증가시키는 방법을 제공하는 데 목적이 있다.
또한, 본 발명은 블록과 관련 있는 특정 노드들에게만 공유되는 블록의 헤더만을 블록과 관련 없는 나머지 노드들에게 공유함으로써 블록체인 전체 노드들의 저장 공간을 실질적으로 증가시키는 방법을 제공하는 데 목적이 있다.
또한, 본 발명은 블록과 관련 없는 나머지 노드들은 블록에 포함된 해시 값을 이용하여 블록의 무결성을 검증하고 블록에 포함되지 않은 트랜잭션 정보에 대한 무결성은 블록 생성 노드에서 제공하는 블록 해시 값을 이용하여 검증함으로써 블록체인에 참여한 모든 노드들이 블록의 무결성을 검증하는 방법을 제공하는 데 목적이 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법은 상기 복수의 노드들 중에서 적어도 하나의 제1 노드가 상기 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성하는 단계; 기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여 적어도 하나의 블록을 생성하는 단계; 및 상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 블록을 상기 식별 정보에 기반하여 상기 특정 노드들에게 공유하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 시스템은 블록체인 네트워크를 구성하는 복수의 노드들을 포함하고, 기 복수의 노드들 중에서 적어도 하나의 제1 노드가 상기 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성하고, 상기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여 적어도 하나의 블록을 생성하고, 상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 블록을 상기 식별 정보에 기반하여 상기 특정 노드들에게 공유할 수 있다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
본 발명은 사전에 미리 그룹을 지정하지 않고 블록에 포함된 식별 정보를 통해 블록과 관련된 특정 노드들에게 트랜잭션이 포함된 블록을 공유시키고 블록과 관련 없는 나머지 노드들에게 블록 헤더만 포함된 서브 블록을 자동으로 공유시킬 수 있다.
또한, 본 발명은 블록의 헤더만 포함된 블록을 블록과 관련 없는 나머지 노드들에게 공유함으로써 블록체인 전체 노드들의 저장 공간을 실질적으로 증가시킬 수 있다.
또한, 본 발명은 나머지 노드들에게 공유된 블록의 헤더에 포함된 해시 값과 블록 생성 노드에서 제공하는 블록 해시 값을 이용함으로써 블록체인에 참여한 모든 노드들이 블록의 무결성을 검증할 수 있다.
또한, 본 발명은 프라이빗 블록체인에서 특정 노드들간 블록의 공유에 대한 자유도를 높일 수 있다.
도 1 은 본 발명의 블록체인 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 블록체인에서 특정 노드간 블록을 공유하는 방법을 나타낸 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 블록체인에서 특정 노드간 블록을 공유하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 블록체인에서 특정 노드간 블록을 공유하는 방법을 설명하기 위한 예시도이다.
도 5는 본 발명의 일 실시 예에 따른 식별 정보를 이용하여 블록을 생성하고 특정 노드들에게 공유하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 서브 블록을 생성하고 공유하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시 예에 따른 서브 블록을 생성하고 공유하는 방법을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시 예에 따른 서브 블록 및 트랜잭션 정보의 무결성을 검증하는 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
도 1 은 본 발명의 블록체인 시스템을 나타낸 블록도이다.
도 1을 참조하면, 블록체인 시스템은 복수의 노드들(200)로 이루어진 분권형 네트워크(decentralized network, 100) 시스템일 수 있다. 분권형 네트워크(100)를 구성하는 노드들(200)은 컴퓨터, 서버, 이동 단말기 등 연산 기능, 통신 기능, 저장 기능 등을 구비한 전자 장치일 수 있다.
일 실시 예에서, 분권형 네트워크(100)는 블록 체인(block chain)이라 불리는 블록(block)의 연결 묶음 내에 모든 참여 노드에 공통으로 알려진 정보를 저장하고 참조할 수 있다. 복수의 노드들(200)은 상호간 통신이 가능하며 블록 체인을 저장, 관리 및 전파를 담당하는 완전 노드(full node)와 단순하게 트랜잭션에만 참여할 수 있는 간이 노드(light node)로 구분될 수 있다. 본 명세서에서 별다른 설명 없이 노드에 대하여 언급되는 경우, 이는 분권형 네트워크(100)에 참여하며 블록 체인을 생성, 저장 또는 검증하는 동작을 수행하는 완전 노드를 지칭하는 경우가 많으나, 이에 국한되지 않는다.
일 실시 예에서, 블록 체인에 연결되어 있는 각 블록(block)들은 일정 기간 내의 거래 내역, 즉 트랜잭션(transaction)들을 포함한다. 노드들(200)은 각각 역할에 따라 블록 체인을 생성, 저장 또는 검증함으로써 트랜잭션들을 관리한다.
일 실시 예에서, 트랜잭션은 다양한 형태의 거래를 나타낼 수 있다. 예를 들어, 트랜잭션은 가상 화폐의 소유 상태 및 그 변동을 나타내기 위한 금융 거래에 해당할 수 있다. 또한, 다른 예에서 트랜잭션은 물건의 소유 상태 및 그 변동을 나타내기 위한 실물 거래에 해당할 수 있다. 분권형 네트워크(100)에서 거래를 수행하는 노드들은 각각의 암호학적 연관관계가 있는 개인키(private key) 및 공개키(public key) 쌍을 가질 수 있다.
일 실시 예에서, 본 발명은 앞서 설명한 바와 같은 퍼블릭 블록체인에서 적용될 수 있다.
다른 실시 예에서, 본 발명은 프라이빗 블록체인일 수 있다. 예를 들어, 프라이빗 블록체인은, 읽기 권한 측면에서 허가된 기관만 열람 가능할 수 있고, 거래 검증 및 승인 측면에서 승인된 기관과 감독 기관에 해당하는 노드만 거래 검증 및 승인을 수행할 수 있고, 트랜잭션 측면에서 법적 책임을 지는 기관만이 트랜잭션을 생성할 수 있다. 단, 본 발명에 적용되는 프라이빗 블록 체인은 앞서 설명한 내용에 국한되지 않고 특정 이해관계를 공유하는 특정 그룹들만 참여 가능한 블록체인을 모두 의미할 수 있다.
일 실시 예에서, 본 발명이 프라이빗 블록 체인에 적용될 경우, 거래 검증, 승인 및 관리 등을 수행하는 지정된 노드가 존재할 수 있다.
일 실시 예에서, 본 발명에 개시된 블록 체인은 순차적으로 연결된 하나 이상의 블록들의 분산 데이터베이스의 일종일 수 있다. 블록 체인은 블록 체인 시스템 내 사용자의 거래 내역을 저장하고 관리하기 위해 사용되며, 블록 체인 네트워크(100)에 참여하는 각 노드가 블록을 생성하여 블록 체인에 연결한다. 예컨대 후술할 도 4에 개시된 블록 1 내지 블록 3은 순차적으로 연결된 블록 체인의 블록 중 일부일 수 있다. 도 4에서 제한된 수의 블록들이 도시되어 있으나 블록 체인에 포함될 수 있는 블록의 수는 이에 제한되지 아니한다.
도 2는 본 발명의 일 실시 예에 따른 블록체인에서 특정 노드간 블록을 공유하는 방법을 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 블록체인에서 특정 노드간 블록을 공유하는 방법은 제1 노드(210)가 트랜잭션(300)을 생성할 수 있고, 제2 노드(220)가 트랜잭션(300)을 포함하는 블록(400)을 생성할 수 있다.
일 실시 예에서, 제1 노드(210)는 트랜잭션(300)을 제안하고 생성하는 노드일 수 있다. 제1 노드(210)는 복수의 노드들(200) 중 트랜잭션(300) 생성 권한을 가진 노드일 수 있고, 제1 노드(210)는 복수 개가 존재할 수 있다. 물론, 이와 달리 트랜잭션(300) 생성 권한이 별도로 존재하지 않고, 본 발명의 블록체인 네트워크(100)에 포함된 모든 노드들(200)이 트랜잭션(300)을 생성할 수 있다.
일 실시 예에서, 트랜잭션(300)은 특정 노드들의 식별 정보(ID Information, 301) 및 트랜잭션 정보(Transaction Information, 302)를 포함할 수 있다. 예를 들어, 식별 정보(301)는 해당 트랜잭션 정보(302)를 공유할 수 있는 노드를 확인할 수 있는 태그일 수 있다. 예를 들어, 도 2에 개시된 바와 같이, 식별 정보(301)에 A, B, C, D가 포함될 경우, 이는 트랜잭션 정보를 공유할 노드가 노드 A, 노드 B, 노드 C, 노드 D라는 것을 의미할 수 있다. 예를 들어, 트랜잭션 정보(302)는 다양한 형태의 거래와 관련된 정보일 수 있다.
일 실시 예에서, 제2 노드(220)는 블록(400)을 생성하는 노드일 수 있다. 제2 노드(220)는 복수의 노드들(200) 중 블록(400) 생성 권한을 가진 노드일 수 있고, 제2 노드(220)는 복수 개가 존재할 수 있다. 물론, 이와 달리 블록(400) 생성 권한이 별도로 존재하지 않고, 본 발명의 블록체인 네트워크(100)에 포함된 모든 노드들(200)이 거래를 생성할 수 있다.
일 실시 예에서, 블록 체인에 포함된 각 블록(Block, 400)은 블록 헤더(Block header, 401)와 블록 바디(Block body, 213)를 포함하도록 구성될 수 있다. 블록 헤더(401)는 각 블록들간의 연결 관계를 나타내기 위하여 이전 블록의 해시 값을 포함할 수 있다. 블록 체인이 유효한지 검증하는 과정에서 블록 헤더(401) 내의 연결 관계가 사용될 수 있다. 블록 바디(402)는 블록(400)에 저장되고 관리되는 데이터, 예를 들어 트랜잭션 정보(302), 트랜잭션 리스트 또는 트랜잭션 체인을 포함할 수 있다.
일 실시 예에서, 블록 헤더(401)는 블록(400)을 공유할 특정 노드들의 식별 정보(예: Node A, B, C, D), 이전 블록의 해시 값, 현재 블록의 해시 값, 넌스(Nonce)를 포함할 수 있다. 또한, 블록 헤더(401)는 블록(400) 내의 트랜잭션 정보(302)를 나타내는 해시 값을 포함할 수 있다.
일 실시 예에서, 블록 체인은 연결된 복수의 블록들을 포함할 수 있다. 복수의 블록들은 블록 헤더(401) 내의 해시 값에 기초하여 연결될 수 있다. 블록 헤더(401)에 포함된 이전 블록의 해시 값 직전 블록에 대한 해시 값으로서 직전 블록에 포함된 현재 해시 값과 동일한 값일 수 있다. 복수의 블록들은 각 블록 헤더 내의 이전 블록의 해시 값에 의하여 연쇄적으로 연결될 수 있다. 분권형 네트워크(100)에 참여하는 노드들(200)은 하나 이상의 블록들에 포함된 이전 블록의 해시 값에 기반하여 블록의 유효성을 검증하므로 악의적인 단일 노드가 이미 생성된 블록의 내용을 위조 또는 변조하는 행위가 불가능할 수 있다.
일 실시 예에서, 블록 바디(402)는 트랜잭션 정보(302), 트랜잭션 리스트, 또는 트랜잭션 체인을 포함할 수 있다. 트랜잭션 정보(302)는 트랜잭션(300)에서 생성된 거래와 관련된 정보일 수 있다. 트랜잭션 리스트는 블록 체인 기반의 거래의 목록일 수 있다. 예를 들면, 트랜잭션 리스트는 블록 체인 기반의 금융 시스템에서 이루어진 금융 거래에 대한 기록을 포함할 수 있다. 트랜잭션 리스트는 트리(tree) 형태로 표현될 수 있으며, 예를 들어, 사용자 A가 사용자 B에게 전송한 금액을 목록 형태로 기록하며, 블록 내의 저장 길이는 현재 블록에 포함된 트랜잭션의 수에 기초하여 증감될 수 있다.
발명의 한 실시 예에 따르면, 도 2에 개시된 바와 달리, 제1 노드(210)와 제2 노드(220)는 동일한 노드일 수 있다. 즉, 트랜잭션(300)을 생성하고 블록(400)을 생성하는 노드는 동일할 수 있다. 하기에서 설명의 편의를 위해 제1 노드(210)와 제2 노드(220)를 구분하여 기재하지만, 하기 도면 3 내지 도 8에 개시된 바와 달리 동일한 노드가 트랜잭션(300) 생성, 블록(400) 생성, 생성된 블록(400) 공유 및 블록(400) 검증을 모두 수행할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 블록체인에서 특정 노드간 블록을 공유하는 방법을 설명하기 위한 흐름도이다. 도 4는 본 발명의 일 실시 예에 따른 블록체인에서 특정 노드간 블록을 공유하는 방법을 설명하기 위한 예시도이다. 도 3의 동작들은 도 2에 개시된 제1 노드(210)와 제2 노드(220)에 의해 수행될 수 있다. 한편, 도 4에 개시된 블록 1(410), 블록 2(420), 블록 3(430)은 순차적으로 연결된 블록 체인 구조일 수 있다.
한편, 설명의 편의를 위해 하기에서 설명할 특정 노드들은 생성된 블록과 관련 있는 노드들로써 블록 헤더와 블록 바디(트랜잭션 정보)를 모두 포함하는 블록을 공유하는 노드들로 이해될 수 있고, 나머지 노드들은 생성된 블록과 관련 없는 노드들로써 블록 헤더만을 포함하는 서브 블록을 공유하는 노드들로 이해될 수 있다.
도 3 및 도 4를 참조하면, 일 실시 예에서, 동작 31에서, 복수의 노드들(200) 중에서 적어도 하나의 제1 노드(210)가 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성할 수 있다. 여기서 적어도 하나의 제1 노드(210)는 단일 노드 또는 복수의 노드를 모두 포함하는 개념일 수 있다. 하기에서 "적어도 하나의"의 수식을 받는 구성은 모두 단일 또는 복수를 포함하는 개념으로 이해될 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 적어도 하나의 제1 노드(210)는 트랜잭션 1(310), 트랜잭션 2(320), 트랜잭션 3(330), 트랜잭션 N(340)을 생성할 수 있다. 각각의 트랜잭션들은 하나의 제1 노드(210)가 생성하거나 또는 복수의 제1 노드(210)가 각각 생성할 수 있다. 트랜잭션 1(310)은 특정 노드들의 식별 정보(311, Node: A, B, C, D)와 트랜잭션 1 정보(312)를 포함할 수 있고, 트랜잭션 2(320)는 특정 노드들의 식별 정보(321, Node: B)와 트랜잭션 2 정보(322)를 포함할 수 있고, 트랜잭션 3(330)은 특정 노드들의 식별 정보(331, Node: A, B, C, D)와 트랜잭션 3 정보(332)를 포함할 수 있고, 트랜잭션 N(340)은 특정 노드들의 식별 정보(341, Node: B, D)와 트랜잭션 N 정보(342)를 포함할 수 있다. 여기서 도 4에 개시된 트랜잭션들의 개수는 설명의 편의를 위한 예시적인 것이고 트랜잭션들의 개수는 다양하게 변형될 수 있다.
일 실시 예에서, 동작 32에서, 복수의 노드들(200) 중에서 적어도 하나의 제2 노드(220)가 식별 정보 및 트랜잭션 정보에 기반하여 적어도 하나의 블록을 생성할 수 있다. 예를 들어, 적어도 하나의 제2 노드(200)는 블록 1(410), 블록 2(420), 블록 3(430)을 생성할 수 있다. 각각의 블록들은 하나의 제2 노드(220)가 생성하거나 또는 복수의 제2 노드(220)가 각각 생성할 수 있다. 예를 들어, 블록 2(420)는 트랜잭션 2(320)의 식별 정보(321, Node: B)와 트랜잭션 2 정보(322)에 기반하여 생성될 수 있고, 식별 정보(321, Node: B)를 포함하는 블록 헤더(421)와 트랜잭션 2 정보(322)를 포함하는 블록 바디(422)로 구성될 수 있다. 또한, 블록 3(430)는 트랜잭션 N(340)의 식별 정보(341, Node: B, D)와 트랜잭션 N 정보(342)에 기반하여 생성될 수 있고, 식별 정보(341, Node: B, D)를 포함하는 블록 헤더(431)와 트랜잭션 N 정보(342)를 포함하는 블록 바디(432)로 구성될 수 있다. 한편, 블록 1(410)의 생성에 관한 구체적인 설명은 도 5에서 후술한다. 여기서 도 4에 개시된 블록들의 개수는 설명의 편의를 위한 예시적인 것이고 블록들의 개수는 다양하게 변형될 수 있다.
일 실시 예에서, 동작 33에서, 적어도 하나의 제2 노드(220)가 생성된 적어도 하나의 블록을 식별 정보에 기반하여 특정 노드들에게 공유할 수 있다. 예를 들어, 적어도 하나의 제2 노드(220)는 블록 헤더(421)에 포함된 식별 정보(321, Node: B)에 기반해서 블록 2(420)를 노드 B(240)에게 공유할 수 있다. 또한, 적어도 하나의 제2 노드(220)는 블록 헤더(431)에 포함된 식별 정보(341, Node: B, D)에 기반해서 블록 3(430)을 노드 B(240)와 노드 D(260)에게 공유할 수 있다. 한편, 블록 1(410)의 공유에 관한 구체적인 설명은 도 5에서 후술한다.
일 실시 예에서, 블록 2(420)는 노드 A(230), 노드 C(250), 노드 D(260)에게도 공유될 수 있고, 블록 3(430)은 노드 A(230), 노드 C(250)에게도 공유될 수 있다. 특정 노드들을 제외한 나머지 노드들이 블록들을 공유하는 구체적인 내용은 도 6에서 후술한다.
일 실시 예에서, 동작 34에서, 적어도 하나의 제2 노드(220)가 생성된 적어도 하나의 블록을 저장 및 관리할 수 있다. 예를 들어, 블록(410, 420, 430)을 생성한 적어도 하나의 제2 노드(220)가 블록(410, 420, 430)을 저장하고 전반적으로 관리할 수 있다. 한편, 블록을 검증하는 방법에 관한 설명은 도 8에서 후술한다.
이와 같이 본 발명은 생성된 블록을 모든 노드들이 공유하되 식별 정보에 기반하여 블록과 관련 있는 특정노드들에게만 트랜잭션 정보를 포함하는 블록을 공유시킬 수 있다.
발명의 한 실시 예에 따르면, 도면에 도시된 바와 달리, 제1 노드(210)(210)와 제2 노드(220)(220)는 동일한 노드일 수 있다.
도 5는 본 발명의 일 실시 예에 따른 식별 정보를 이용하여 블록을 생성하고 특정 노드들에게 공유하는 방법을 설명하기 위한 흐름도이다. 도 5의 동작들은 도 3의 동작 32 및 동작 33을 구체화한 동작들일 수 있다. 도 5의 동작들은 도 2에 개시된 제1 노드(210)(210)와 제2 노드(220)(220)에 의해 수행될 수 있다. 한편, 도 4에 개시된 블록 1(410), 블록 2(420), 블록 3(430)은 순차적으로 연결된 블록 체인 구조일 수 있다.
도 4 및 도 5를 참조하면, 일 실시 예에서, 동작 51에서, 적어도 하나의 제2 노드(220)가 적어도 하나의 트랜잭션 중에서 동일한 식별 정보를 갖는 트랜잭션들을 확인할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 적어도 하나의 제2 노드(220)는 식별 정보(311, Node: A, B, C, D)를 갖는 트랜잭션 1(310)과 식별 정보(331, Node: A, B, C, D)를 갖는 트랜잭션 3(330)을 확인할 수 있다. 즉, 적어도 하나의 제2 노드(220)는 트랜잭션 1(310)과 트랜잭션 3(330)이 동일한 식별 정보로서 Node: A, B, C, D를 가짐을 확인할 수 있다.
일 실시 예에서, 동작 52에서, 적어도 하나의 제2 노드(220)가 동일한 식별 정보를 갖는 트랜잭션들만 포함되는 블록을 생성할 수 있다. 예를 들어, 적어도 하나의 제2 노드(220)는 블록 1(410)을 생성할 수 있다. 예를 들어, 블록 1(410)은 식별 정보(311, Node: A, B, C, D)와 식별 정보(331, Node: A, B, C, D)를 포함하는 블록 헤더(411)와 트랜잭션 1 정보(312)와 트랜잭션 3 정보(332)를 포함하는 블록 바디(412)로 구성될 수 있다.
일 실시 예에서, 동작 53에서, 적어도 하나의 제2 노드(220)가 동일한 식별 정보를 갖는 트랜잭션들만 포함되는 블록을 동일한 식별 정보에 대응하는 특정 노드들에게 공유할 수 있다. 예를 들어, 적어도 하나의 제2 노드(220)는 식별 정보(311, 331)에 따라 노드 A(230), 노드 B(240), 노드 C(250), 노드 D(260)에게 블록 1(410)을 공유할 수 있다.
발명의 한 실시 예에 따르면, 도면에 도시된 바와 달리, 제1 노드(210)(210)와 제2 노드(220)(220)는 동일한 노드일 수 있다.
도 6은 본 발명의 일 실시 예에 따른 서브 블록을 생성하고 공유하는 방법을 설명하기 위한 흐름도이다. 도 7은 본 발명의 일 실시 예에 따른 서브 블록을 생성하고 공유하는 방법을 설명하기 위한 예시도이다. 도 6의 동작들은 도 3의 동작 32 및 동작 33을 구체화한 동작들일 수 있다. 도 6의 동작들은 도 2에 개시된 제1 노드(210)(210)와 제2 노드(220)(220)에 의해 수행될 수 있다. 한편, 도 7에 개시된 블록 1(410), 블록 2(420), 블록 3(430)은 순차적으로 연결된 블록 체인 구조일 수 있다.
도 6 및 도 7을 참조하면, 일 실시 예에서, 동작 61에서, 적어도 하나의 블록의 생성이 완료된 이후, 적어도 하나의 제2 노드(220)가 생성한 적어도 하나의 블록의 헤더를 추출할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 적어도 하나의 제2 노드(220)는 블록 2(420)의 생성을 완료한 이후 블록 2(420)에서 블록 헤더(424)를 추출할 수 있다. 예를 들어, 블록 헤더(424)는 이전 블록의 해시 값(예: 블록 1 해시 값), 현재 블록의 해시 값, 트랜잭션 해시 값을 포함할 수 있다.
일 실시 예에서, 동작 62에서, 적어도 하나의 제2 노드(220)가 추출한 블록의 헤더만 포함되는 적어도 하나의 서브 블록을 생성할 수 있다. 여기서 서브 블록은 이미 생성한 블록과 동일성을 유지하되 블록의 헤더만을 포함하는 블록일 수 있다. 예를 들어, 적어도 하나의 제2 노드(220)는 블록 헤더(424)만 포함하는 서브 블록 2(423)을 생성할 수 있다. 여기서 블록 헤더(424)는 도 6에 개시된 바와 같이, 블록 헤더(421)에서 식별 정보(321)만 제외된 나머지 정보를 포함할 수 있다. 물론 이와 달리 블록 헤더(424)는 블록 2(420)의 블록 헤더(421)와 동일할 수 있다. 즉,서브 블록 2(423)은 블록2(420)와 동일성을 유지하되 블록 헤더(424)만 포함하는 블록일 수 있다.
일 실시 예에서, 동작 63에서, 적어도 하나의 제2 노드(220)가 생성한 적어도 하나의 서브 블록을 복수의 노드들(200) 중 특정 노드들을 제외한 나머지 노드들에게 공유할 수 있다. 예를 들어, 적어도 하나의 제2 노드(220)는 서브 블록 2(423)을 노드 A(230), 노드 C(250), 노드 D(260)에게 공유할 수 있다.
일 실시 예에서, 동작 64에서, 나머지 노드들이 블록 해시 값을 이용하여 적어도 하나의 서브 블록의 무결성을 검증할 수 있다. 서브 블록의 무결성을 검증하는 구체적인 설명은 도 8에서 후술한다.
일 실시 예에서, 도 4에 개시된 블록 3(430)도 도 6에 설명된 블록 2(420)의 서브 블록 2(423)의 공유 방법과 동일한 방법으로 나머지 노드들에게 공유될 수 있다. 즉, 블록 3(430)의 서브 블록 3은 블록 3(430)에서 추출된 블록 헤더만 가진 채 노드 A(230)와 노드 C(250)에게 공유될 수 있다.
이와 같이, 본 발명은 생성된 블록을 도 4에 도시된 바와 같이 모든 노드들이 공유하되, 특정 노드들은 트랜잭션 정보를 포함하는 완전한 블록을 공유시키고 나머지 노드들은 블록 헤더만 포함하는 서브 블록을 공유시킬 수 있다. 이와 같이 동작함으로써 본 발명은 별도의 그룹 지정 없이 블록의 관리 효율성을 증대시킬 수 있다.
발명의 한 실시 예에 따르면, 도면에 도시된 바와 달리, 제1 노드(210)(210)와 제2 노드(220)(220)는 동일한 노드일 수 있다.
도 8은 본 발명의 일 실시 예에 따른 서브 블록 및 트랜잭션 정보의 무결성을 검증하는 방법을 설명하기 위한 흐름도이다. 도 8의 동작들은 도 6의 동작 64를 구체화한 동작들일 수 있다. 도 8의 동작들은 도 2에 개시된 제1 노드(210)(210)와 제2 노드(220)(220)에 의해 수행될 수 있다.
일 실시 예에서, 나머지 노드들이 공유하는 블록 헤더가 없는 블록의 무결성 검증 방법은 두 단계로 이루어질 수 있다. 첫 번째 단계는 블록에 포함된 해시 값을 이용하여 검증하는 단계이고, 두 번째 단계는 블록에 포함되지 않은 트랜잭션의 무결성을 검증하는 단계이다.
도 7 및 도 8을 참조하면, 일 실시 예에서, 동작 81에서, 나머지 노드들이 블록 해쉬 값을 이용하여 서브 블록의 무결성을 검증할 수 있다. 예를 들어, 노드 A(230), 노드 C(250), 노드 D(260)는 서브 블록 2(423)에 포함된 블록 해시 값(이전 블록의 해시 값, 현재 블록의 해시 값)을 이용하여 서브 블록 2의 무결성을 검증할 수 있다.
일 실시 예에서, 동작 82에서, 나머지 노드들 중 적어도 하나의 노드가 적어도 하나의 제2 노드(220)에게 적어도 하나의 서브 블록에 대응하는 트랜잭션 해시 값을 요청할 수 있다. 예를 들어, 노드 A(230), 노드 C(250), 노드 D(260) 중 적어도 하나의 노드가 적어도 하나의 제2 노드(220)에게 서브 블록 2(423)에 대응하는 트랜잭션 해시 값을 요청할 수 있다. 여기서 제2 노드(220)는 블록 2(420)를 생성, 저장, 관리하는 노드일 수 있다.
일 실시 예에서, 동작 83에서, 적어도 하나의 제2 노드(220)가 요청한 트랜잭션 해시 값을 연산할 수 있다. 예를 들어, 적어도 하나의 제2 노드(220)는 블록 2(420)의 블록 헤어(421)에 저장된 트랜잭션 해시 값에 기반하여 요청한 트랜잭션 해시 값을 연산할 수 있다.
일 실시 예에서, 동작 84에서, 적어도 하나의 제2 노드(220)가 연산한 트랜잭션 해시 값을 적어도 하나의 노드에게 전송할 수 있다. 예를 들어, 적어도 하나의 제2 노드(220)는 연산한 트랜잭션 해시 값을 노드 A(230), 노드 C(250), 노드 D(260) 중 상기 요청을 한 노드에게 전송할 수 있다.
일 실시 예에서, 동작 85에서, 적어도 하나의 노드가 수신한 트랜잭션 해시 값과 기 저장된 트랜잭션 해시 값을 비교할 수 있다. 예를 들어, 노드 A(230), 노드 C(250), 노드 D(260) 중 적어도 하나의 노드는 수신한 트랜잭션 해시 값과 서브 블록 2(423)에 포함되어 기 저장된 트랜잭션 해시 값을 비교할 수 있다.
일 실시 예에서, 동작 86에서, 적어도 하나의 노드가 비교 결과에 기반하여 서브 블록에 포함된 트랜잭션 정보의 무결성을 검증할 수 있다. 예를 들어, 노드 A(230), 노드 C(250), 노드 D(260) 중 적어도 하나의 노드가 서브 블록 2(423)에 포함된 트랜잭션 정보의 무결성을 검증할 수 있다.
발명의 한 실시 예에 따르면, 복수의 노드들(200)은 적어도 하나의 블록과 적어도 하나의 서브 블록을 동일한 블록으로 저장 및 관리할 수 있다.
발명의 한 실시 예에 따르면, 도면에 도시된 바와 달리, 제1 노드(210)(210)와 제2 노드(220)(220)는 동일한 노드일 수 있다.
본 발명의 일 실시예에 따른 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법은 상기 복수의 노드들 중에서 적어도 하나의 제1 노드가 상기 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성하는 단계; 기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여 적어도 하나의 블록을 생성하는 단계; 및 상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 블록을 상기 식별 정보에 기반하여 상기 특정 노드들에게 공유하는 단계를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 적어도 하나의 블록을 생성하는 단계는, 상기 적어도 하나의 제2 노드가 상기 적어도 하나의 트랜잭션 중에서 동일한 식별 정보를 갖는 트랜잭션들을 확인하는 단계; 상기 적어도 하나의 제2 노드가 상기 동일한 식별 정보를 갖는 트랜잭션들만 포함되는 블록을 생성하는 단계; 및 상기 적어도 하나의 제2 노드가 상기 동일한 식별 정보를 갖는 트랜잭션들만 포함되는 상기 블록을 상기 동일한 식별 정보에 대응하는 특정 노드들에게 공유하는 단계를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 블록을 저장 및 관리하는 단계를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 적어도 하나의 블록을 생성하는 단계는, 상기 적어도 하나의 블록의 생성이 완료된 이후, 상기 적어도 하나의 제2 노드가 상기 생성한 적어도 하나의 블록의 헤더를 추출하는 단계; 및 상기 적어도 하나의 제2 노드가 상기 추출한 블록의 헤더만 포함되는 적어도 하나의 서브 블록을 생성하는 단계를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 특정 노드들에게 공유하는 단계는, 상기 적어도 하나의 제2 노드가 상기 생성한 적어도 하나의 서브 블록을 상기 복수의 노드들 중 상기 특정 노드들을 제외한 나머지 노드들에게 공유하는 단계를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 적어도 하나의 서브 블록은 블록 해시 값을 포함하고, 상기 나머지 노드들이 상기 블록 해시 값을 이용하여 상기 적어도 하나의 서브 블록의 무결성을 검증하는 단계를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 나머지 노드들 중 적어도 하나의 노드가 상기 적어도 하나의 제2 노드에게 상기 적어도 하나의 서브 블록에 대응하는 트랜잭션 해시 값을 요청하는 단계; 상기 적어도 하나의 제2 노드가 상기 요청한 트랜잭션 해시 값을 연산하는 단계; 상기 적어도 하나의 제2 노드가 상기 연산한 트랜잭션 해시 값을 상기 적어도 하나의 노드에게 전송하는 단계; 및 상기 적어도 하나의 노드가 상기 수신한 트랜잭션 해시 값과 기 저장된 트랜잭션 해시 값을 비교하는 단계를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 적어도 하나의 노드가 상기 비교 결과에 기반하여 상기 서브 블록에 포함된 상기 트랜잭션 정보의 무결성을 검증하는 단계를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 복수의 노드들이 상기 적어도 하나의 블록과 상기 적어도 하나의 서브 블록을 동일한 블록으로 저장 및 관리하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 시스템은 블록체인 네트워크를 구성하는 복수의 노드들을 포함하고, 기 복수의 노드들 중에서 적어도 하나의 제1 노드가 상기 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성하고, 상기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여 적어도 하나의 블록을 생성하고, 상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 블록을 상기 식별 정보에 기반하여 상기 특정 노드들에게 공유할 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 블록체인 네트워크 200 : 복수의 노드들
300 : 트랜잭션 400 : 블록

Claims (10)

  1. 블록체인에 포함된 복수의 노드들 중에서 특정 노드들간 블록을 공유 및 검증하는 방법에 있어서,
    상기 복수의 노드들 중에서 적어도 하나의 제1 노드가 상기 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성하는 단계;
    상기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여, 블록 헤더와 블록 바디가 모두 포함되는 적어도 하나의 메인 블록을 생성하는 단계;
    상기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여, 블록 헤더만 포함되는 적어도 하나의 서브 블록을 생성하는 단계; 및
    상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 메인 블록 또는 서브 블록을 상기 식별 정보에 기반하여 상기 특정 노드들과 상기 특정 노드들을 제외한 나머지 노드들에게 차별적으로 공유하는 단계를 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  2. 제1 항에 있어서, 상기 적어도 하나의 메인 블록을 생성하는 단계는,
    상기 적어도 하나의 제2 노드가 상기 적어도 하나의 트랜잭션 중에서 동일한 식별 정보를 갖는 트랜잭션들을 확인하는 단계;
    상기 적어도 하나의 제2 노드가 상기 동일한 식별 정보를 갖는 트랜잭션들만 포함되는 메인 블록을 생성하는 단계; 및
    상기 적어도 하나의 제2 노드가 상기 동일한 식별 정보를 갖는 트랜잭션들만 포함되는 상기 메인 블록을 상기 동일한 식별 정보에 대응하는 특정 노드들에게 공유하는 단계를 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  3. 제1 항에 있어서, 상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 메인 블록을 저장 및 관리하는 단계를 더 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  4. 제1 항에 있어서, 상기 적어도 하나의 서브 블록을 생성하는 단계는,
    상기 적어도 하나의 메인 블록의 생성이 완료된 이후, 상기 적어도 하나의 제2 노드가 상기 생성한 적어도 하나의 메인 블록의 헤더를 추출하는 단계; 및
    상기 적어도 하나의 제2 노드가 상기 추출한 메인 블록의 헤더만 포함되는 적어도 하나의 서브 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  5. 제4 항에 있어서, 상기 특정 노드들과 상기 특정 노드들을 제외한 나머지 노드들에게 차별적으로 공유하는 단계는,
    상기 적어도 하나의 제2 노드가 상기 생성한 블록 헤더와 블록 바디가 모두 포함되는 적어도 하나의 메인 블록을 상기 복수의 노드들 중 상기 특정 노드들에게 공유하는 단계; 및
    상기 적어도 하나의 제2 노드가 상기 생성한 블록의 헤더만 포함되는 적어도 하나의 서브 블록을 상기 복수의 노드들 중 상기 특정 노드들을 제외한 나머지 노드들에게 공유하는 단계를 더 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  6. 제5 항에 있어서, 상기 적어도 하나의 서브 블록은 블록 해시 값을 포함하고,
    상기 나머지 노드들이 상기 블록 해시 값을 이용하여 상기 적어도 하나의 서브 블록의 무결성을 검증하는 단계를 더 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  7. 제6 항에 있어서,
    상기 나머지 노드들 중 적어도 하나의 노드가 상기 적어도 하나의 제2 노드에게 상기 적어도 하나의 서브 블록에 대응하는 트랜잭션 해시 값을 요청하는 단계;
    상기 적어도 하나의 제2 노드가 상기 요청한 트랜잭션 해시 값을 연산하는 단계;
    상기 적어도 하나의 제2 노드가 상기 연산한 트랜잭션 해시 값을 상기 적어도 하나의 노드에게 전송하는 단계; 및
    상기 적어도 하나의 노드가 상기 수신한 트랜잭션 해시 값과 기 저장된 트랜잭션 해시 값을 비교하는 단계를 더 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  8. 제7 항에 있어서, 적어도 하나의 노드가 상기 비교 결과에 기반하여 상기 서브 블록에 포함된 상기 트랜잭션 정보의 무결성을 검증하는 단계를 더 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  9. 제4 항에 있어서, 상기 복수의 노드들이 상기 블록 헤더와 블록 바디가 모두 포함되는 적어도 하나의 메인 블록과 상기 블록의 헤더만 포함되는 적어도 하나의 서브 블록을 동일한 블록으로 저장 및 관리하는 단계를 더 포함하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법.
  10. 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 시스템에 있어서,
    블록체인 네트워크를 구성하는 복수의 노드들을 포함하고,
    상기 복수의 노드들 중에서 적어도 하나의 제1 노드가 상기 특정 노드들의 식별 정보 및 트랜잭션 정보를 포함하는 적어도 하나의 트랜잭션을 생성하고,
    상기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여 블록 헤더와 블록 바디가 모두 포함되는 적어도 하나의 메인 블록을 생성하고,
    상기 복수의 노드들 중에서 적어도 하나의 제2 노드가 상기 식별 정보 및 상기 트랜잭션 정보에 기반하여 블록의 헤더만 포함되는 적어도 하나의 서브 블록을 생성하고,
    상기 적어도 하나의 제2 노드가 상기 생성된 적어도 하나의 메인 블록 또는 서브 블록을 상기 식별 정보에 기반하여 상기 특정 노드들과 상기 특정 노드들을 제외한 나머지 노드들에게 차별적으로 공유하는 것을 특징으로 하는 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 시스템.
KR1020180168117A 2018-12-21 2018-12-24 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법 KR101986081B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020180168117A KR101986081B1 (ko) 2018-12-24 2018-12-24 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법
SG11202106480PA SG11202106480PA (en) 2018-12-21 2019-11-01 Method for sharing and verifying blocks and electronic documents between nodes in blockchain
PCT/KR2019/014749 WO2020130331A1 (ko) 2018-12-21 2019-11-01 블록체인에서 노드들간 블록 및 전자 문서를 공유 및 검증하는 방법
EP19899558.1A EP3902227A4 (en) 2018-12-21 2019-11-01 PROCEDURE FOR SHARING AND VERIFICATION OF BLOCKS AND ELECTRONIC DOCUMENTS BETWEEN NODES IN A BLOCKCHAIN
JP2021536101A JP7146093B2 (ja) 2018-12-21 2019-11-01 ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法
CN201980084992.1A CN113508570B (zh) 2018-12-21 2019-11-01 在区块链中节点之间共享及验证区块及电子文档的方法
US17/349,539 US11232234B2 (en) 2018-12-21 2021-06-16 Method for sharing and verifying blocks and electronic documents between nodes in blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180168117A KR101986081B1 (ko) 2018-12-24 2018-12-24 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법

Publications (1)

Publication Number Publication Date
KR101986081B1 true KR101986081B1 (ko) 2019-06-05

Family

ID=66845223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168117A KR101986081B1 (ko) 2018-12-21 2018-12-24 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법

Country Status (1)

Country Link
KR (1) KR101986081B1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110224840A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 基于区块链的打包方法及装置
KR102064244B1 (ko) * 2019-08-06 2020-01-09 제주대학교 산학협력단 하이퍼체인을 이용한 블록체인 연결 방법 및 그 장치
KR102130782B1 (ko) * 2019-10-31 2020-07-06 제주대학교 산학협력단 블록체인을 이용한 영상 저장 방법 및 그 장치
KR102174375B1 (ko) * 2020-02-19 2020-11-04 (주)미디어스퀘어 다중 블록체인 구조를 포함하는 프라이빗 블록체인 시스템 및 이의 동작 방법
KR20210047666A (ko) * 2019-10-22 2021-04-30 한국전자기술연구원 연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법
KR102288161B1 (ko) * 2020-07-29 2021-08-10 이현석 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템
KR102346293B1 (ko) * 2020-12-08 2022-01-03 엘에스웨어(주) 공통 키셋정보를 이용한 트랜잭션 분산처리를 위한 블록체인 시스템 및 수행방법
KR102346292B1 (ko) * 2020-11-11 2022-01-03 엘에스웨어(주) 키 정보를 이용한 트랜잭션 분류 시스템 및 방법
KR20220168337A (ko) * 2021-06-16 2022-12-23 계명대학교 산학협력단 블록체인 제공 방법 및 장치
WO2023277444A1 (ko) * 2021-06-30 2023-01-05 주식회사 아티프렌즈 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법
KR20230007151A (ko) * 2021-07-05 2023-01-12 계명대학교 산학협력단 네트워크 확장성을 고려한 블록체인 합의 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统
KR20180124545A (ko) * 2017-05-12 2018-11-21 주식회사 엑스블록시스템즈 블록체인 시스템 및 블록체인 생성 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
KR20180124545A (ko) * 2017-05-12 2018-11-21 주식회사 엑스블록시스템즈 블록체인 시스템 및 블록체인 생성 방법
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110224840A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 基于区块链的打包方法及装置
US11323245B2 (en) 2019-08-06 2022-05-03 Jeju National University Industry-Academic Cooperation Foundation Method for linking block-chain using hyper-chain, and apparatus therefor
KR102064244B1 (ko) * 2019-08-06 2020-01-09 제주대학교 산학협력단 하이퍼체인을 이용한 블록체인 연결 방법 및 그 장치
KR20210047666A (ko) * 2019-10-22 2021-04-30 한국전자기술연구원 연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법
KR102408728B1 (ko) 2019-10-22 2022-06-14 한국전자기술연구원 연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법
KR102130782B1 (ko) * 2019-10-31 2020-07-06 제주대학교 산학협력단 블록체인을 이용한 영상 저장 방법 및 그 장치
KR102174375B1 (ko) * 2020-02-19 2020-11-04 (주)미디어스퀘어 다중 블록체인 구조를 포함하는 프라이빗 블록체인 시스템 및 이의 동작 방법
KR102288161B1 (ko) * 2020-07-29 2021-08-10 이현석 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템
KR102346292B1 (ko) * 2020-11-11 2022-01-03 엘에스웨어(주) 키 정보를 이용한 트랜잭션 분류 시스템 및 방법
KR102346293B1 (ko) * 2020-12-08 2022-01-03 엘에스웨어(주) 공통 키셋정보를 이용한 트랜잭션 분산처리를 위한 블록체인 시스템 및 수행방법
KR20220168337A (ko) * 2021-06-16 2022-12-23 계명대학교 산학협력단 블록체인 제공 방법 및 장치
KR102655765B1 (ko) 2021-06-16 2024-04-09 계명대학교 산학협력단 블록체인 제공 방법 및 장치
WO2023277444A1 (ko) * 2021-06-30 2023-01-05 주식회사 아티프렌즈 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법
KR20230007151A (ko) * 2021-07-05 2023-01-12 계명대학교 산학협력단 네트워크 확장성을 고려한 블록체인 합의 시스템 및 방법
KR102534411B1 (ko) * 2021-07-05 2023-05-18 계명대학교 산학협력단 네트워크 확장성을 고려한 블록체인 합의 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR101986081B1 (ko) 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법
KR101727525B1 (ko) 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
CN109075964B (zh) 支持用于区块验证的多个单向函数的区块链
Cash et al. Two-tier permission-ed and permission-less blockchain for secure data sharing
KR102128210B1 (ko) 정보 보호를 위한 시스템 및 방법
US10819505B2 (en) System and method for information protection
WO2017010455A1 (ja) 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
US20220215355A1 (en) Method for directly transmitting electronic coin data records between terminals and payment system
KR20190093012A (ko) 블록 체인 시스템에서의 블록 생성 및 검증 방법
KR101976787B1 (ko) 블록체인에서 스마트 컨트랙트를 이용한 전자 문서 유통 방법
US11232234B2 (en) Method for sharing and verifying blocks and electronic documents between nodes in blockchain
WO2001082267A1 (fr) Procédé de demande d'informations électroniques
KR20200114324A (ko) 블록체인 기반의 암호화폐를 이용한 송금 처리 시스템
CN115606150A (zh) 多层通信网络
KR20190093011A (ko) 보안성이 강화된 블록 체인 시스템 및 이중 블록 체인 구조를 이용한 데이터 블록 생성방법
KR102294569B1 (ko) 블록체인 네트워크를 구축할 수 있는 블록체인 관리시스템
KR102332814B1 (ko) 데이터 자기주권화를 위한 블록체인 구조를 포함하는 블록체인 시스템
KR102437006B1 (ko) 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법
JP2023513951A (ja) 階層化ネットワークの接続の適応
CN115136560A (zh) 分层网络
KR20200144214A (ko) 네트워크 상에서 합의된 데이터를 전송하는 방법 및 네트워크 상에서 합의된 데이터를 전송하기 위한 전자기기
KR102131548B1 (ko) 전자지갑 생성 방법 및 이를 이용한 암호화폐 거래 방법
CN118282641A (zh) 基于碎片化密钥的验签方法、装置、设备及存储介质
KR20190101700A (ko) 프라이뱃 블록체인과 유효 거래기록 블록 위치값을 이용한 결제 보안 검증 시스템 및 방법
JP2021077366A (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant