KR102316758B1 - 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법 - Google Patents

블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR102316758B1
KR102316758B1 KR1020200017126A KR20200017126A KR102316758B1 KR 102316758 B1 KR102316758 B1 KR 102316758B1 KR 1020200017126 A KR1020200017126 A KR 1020200017126A KR 20200017126 A KR20200017126 A KR 20200017126A KR 102316758 B1 KR102316758 B1 KR 102316758B1
Authority
KR
South Korea
Prior art keywords
full node
block
vector
user terminals
node user
Prior art date
Application number
KR1020200017126A
Other languages
English (en)
Other versions
KR20210074978A (ko
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 (주)포뎁스
Publication of KR20210074978A publication Critical patent/KR20210074978A/ko
Application granted granted Critical
Publication of KR102316758B1 publication Critical patent/KR102316758B1/ko

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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법이 개시된다. 본 발명에 따른 업데이트 데이터 관리 서버 및 그 동작 방법은 블록체인을 기반으로 복수의 사용자 단말들로 응용 애플리케이션에 대한 업데이트 데이터를 배포함으로써, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킬 수 있고, 다수의 사용자들에게 보다 빠르게 업데이트 데이터를 배포할 수 있다.

Description

블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법{UPDATE DATA MANAGEMENT SERVER THAT DISTRIBUTES UPDATE DATA FOR APPLICATION BASED ON BLOCKCHAIN AND OPERATING METHOD THEREOF}
본 발명은 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법에 대한 것이다.
최근, 출시되고 있는 백신 프로그램이나, 오피스 프로그램, 게임 등과 같은 응용 애플리케이션들은 제품 출시 후 애플리케이션 상에 새로운 바이러스 정보를 반영하거나 다양한 오류를 개선하기 위해 업데이트 기능을 제공하는 경우가 많다.
기존의 응용 애플리케이션에 대한 업데이트는 하나의 업데이트 서버가 응용 애플리케이션이 설치된 다수의 사용자 단말들에 대해 업데이트 데이터를 제공하는 형태로 이루어지고 있었기 때문에 업데이트에 따른 서버 부하가 가중되는 문제가 있었다.
이러한 업데이트에 따른 서버 부하를 분산시키기 위한 방안으로 다수의 사용자 단말들에 대해 동시에 업데이트 데이터를 전달하는 것이 아니라, 시간을 나누어 순차적으로 업데이트 데이터를 전달하는 방식이 사용되곤 했었다.
하지만, 이러한 업데이트 방식은 특정 사용자들에 대해서만 먼저 업데이트 데이터가 전달되기 때문에 사용자 간의 형평성 문제가 발생할 수 있다.
최근에는 소정의 데이터를 체인화된 블록으로 구성하여 중앙 서버가 아닌 노드들에 분산 저장함으로써, 해당 데이터에 대한 무결성을 보장할 수 있는 블록체인 기술이 널리 활용되고 있다.
블록체인 기술은 트랜잭션이라고 하는 소정의 데이터가 생성되면, 블록체인 네트워크에 참여하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치가 여러 블록들이 체인으로 연결되어 있는 블록체인 데이터에 포함된 이전 블록을 기초로 상기 트랜잭션이 포함된 새로운 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 블록체인 네트워크를 통해 다른 노드 장치들로 배포함으로써, 소정의 데이터가 복수의 노드 장치들에 분산 저장되도록 하는 기술을 의미한다.
이러한 블록체인 기술은 중앙 서버에서 다수의 노드들로 데이터를 전달하는 것이 아니라, 노드들 간의 P2P를 기반으로 데이터 전파가 이루어지기 때문에 여러 사용자들에게 데이터를 배포하는 시스템에서의 활용성이 뛰어난 장점이 있다.
따라서, 소정의 응용 애플리케이션이 설치된 다수의 사용자 단말들로 업데이트 데이터를 전달해야 하는 시스템에 있어서, 이러한 블록체인 기술을 활용함으로써, 효율적으로 업데이트 데이터를 다수의 사용자 단말들로 배포할 수 있는 기술의 연구가 필요하다.
본 발명은 블록체인을 기반으로 복수의 사용자 단말들로 응용 애플리케이션에 대한 업데이트 데이터를 배포할 수 있는 업데이트 데이터 관리 서버 및 그 동작 방법을 제시함으로써, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원하고자 한다.
본 발명의 일실시예에 따른 블록체인 네트워크를 구성하는 개별 노드로서의 역할을 수행하는 복수의 사용자 단말들로 상기 복수의 사용자 단말들 각각에 설치되어 있는 응용 애플리케이션에 대한 업데이트 데이터를 전달하기 위한 업데이트 데이터 관리 서버는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부, 상기 복수의 사용자 단말들 중 상기 블록체인 데이터 전체를 저장하는 풀 노드(Full node)로 미리 지정된 복수의 풀 노드 사용자 단말들에 대한 단말 정보와 상기 블록체인 데이터에서 블록 헤더만을 저장하는 라이트 노드(Light node)로 미리 지정된 복수의 라이트 노드 사용자 단말들에 대한 단말 정보가 저장되어 있는 노드 정보 저장부, 상기 복수의 사용자 단말들에 배포해야 하는 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되면, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 생성하고, 상기 블록체인 데이터를 기초로 상기 제1 트랜잭션이 포함된 제1 블록을 생성한 후 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결하는 블록 생성부 및 상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들 중 어느 하나인 제1 풀 노드 사용자 단말을 선택한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 블록체인 등록 요청부를 포함하고, 상기 제1 풀 노드 사용자 단말은 상기 업데이트 데이터 관리 서버로부터 상기 제1 블록과 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 제1 풀 노드 사용자 단말에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 풀 노드 사용자 단말의 메모리에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결하여 상기 제1 블록 전체를 저장한 후 상기 제1 블록을 상기 블록체인 네트워크를 통해 상기 복수의 사용자 단말들 중 상기 제1 풀 노드 사용자 단말을 제외한 나머지 사용자 단말들로 전파한다.
또한, 본 발명의 일실시예에 따른 블록체인 네트워크를 구성하는 개별 노드로서의 역할을 수행하는 복수의 사용자 단말들로 상기 복수의 사용자 단말들 각각에 설치되어 있는 응용 애플리케이션에 대한 업데이트 데이터를 전달하기 위한 업데이트 데이터 관리 서버의 동작 방법은 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계, 상기 복수의 사용자 단말들 중 상기 블록체인 데이터 전체를 저장하는 풀 노드로 미리 지정된 복수의 풀 노드 사용자 단말들에 대한 단말 정보와 상기 블록체인 데이터에서 블록 헤더만을 저장하는 라이트 노드로 미리 지정된 복수의 라이트 노드 사용자 단말들에 대한 단말 정보가 저장되어 있는 노드 정보 저장부를 유지하는 단계, 상기 복수의 사용자 단말들에 배포해야 하는 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되면, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 생성하고, 상기 블록체인 데이터를 기초로 상기 제1 트랜잭션이 포함된 제1 블록을 생성한 후 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결하는 단계 및 상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들 중 어느 하나인 제1 풀 노드 사용자 단말을 선택한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 포함하고, 상기 제1 풀 노드 사용자 단말은 상기 업데이트 데이터 관리 서버로부터 상기 제1 블록과 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 제1 풀 노드 사용자 단말에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 풀 노드 사용자 단말의 메모리에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결하여 상기 제1 블록 전체를 저장한 후 상기 제1 블록을 상기 블록체인 네트워크를 통해 상기 복수의 사용자 단말들 중 상기 제1 풀 노드 사용자 단말을 제외한 나머지 사용자 단말들로 전파한다.
본 발명에 따른 업데이트 데이터 관리 서버 및 그 동작 방법은 블록체인을 기반으로 복수의 사용자 단말들로 응용 애플리케이션에 대한 업데이트 데이터를 배포함으로써, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킬 수 있고, 다수의 사용자들에게 보다 빠르게 업데이트 데이터를 배포할 수 있다.
도 1은 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 업데이트 데이터 관리 서버(110)는 블록체인 데이터 저장부(111), 노드 정보 저장부(112), 블록 생성부(113) 및 블록체인 등록 요청부(114)를 포함한다.
우선, 본 발명에서는 복수의 사용자 단말들(101, 102, 103, 104)에 업데이트의 대상이 되는 소정의 응용 애플리케이션이 설치되어 있다고 가정한다. 그리고, 복수의 사용자 단말들(101, 102, 103, 104)은 하나의 개별 노드로서, 블록체인 네트워크를 형성하고 있는 것으로 가정한다. 그리고, 응용 애플리케이션이란 백신 프로그램, 오피스 프로그램, 유틸리티 프로그램, 게임 등과 같이 마이크로 프로세서 기반의 장치에서 설치되어 구동될 수 있는 소정의 애플리케이션을 의미한다.
이때, 복수의 사용자 단말들(101, 102, 103, 104) 각각의 메모리에는 상기 응용 애플리케이션에 대한 업데이트 데이터가 포함된 트랜잭션을 기반으로 생성된 블록들이 체인으로 연결되어 있는 블록체인 데이터가 저장되어 있다. 상기 블록체인 데이터는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결되어 있는 데이터이며, 복수의 사용자 단말들(101, 102, 103, 104) 각각의 메모리 상에 저장되어 있음으로 인해 복수의 사용자 단말들(101, 102, 103, 104)이 블록체인 네트워크를 구성할 수 있도록 한다.
이때, 복수의 사용자 단말들(101, 102, 103, 104)은 상기 블록체인 데이터 전체를 메모리 상에 저장하도록 지정되어 있는 풀 노드(Full node)들과 상기 블록체인 데이터에서 블록 헤더만을 저장하도록 지정되어 있는 라이트 노드(Light node)들로 사전 구분되어 있을 수 있다.
이때, 업데이트 데이터 관리 서버(110)의 블록체인 데이터 저장부(111)는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 상기 블록체인 데이터를 저장하고 있다. 즉, 블록체인 데이터 저장부(111)에는 복수의 사용자 단말들(101, 102, 103, 104) 중 풀 노드로 지정된 사용자 단말들이 공유하고 있는 상기 블록체인 데이터와 동일한 블록체인 데이터 전체가 저장되어 있다.
노드 정보 저장부(112)에는 복수의 사용자 단말들(101, 102, 103, 104) 중 상기 블록체인 데이터 전체를 저장하는 풀 노드(Full node)로 미리 지정된 복수의 풀 노드 사용자 단말들에 대한 단말 정보와 상기 블록체인 데이터에서 블록 헤더만을 저장하는 라이트 노드(Light node)로 미리 지정된 복수의 라이트 노드 사용자 단말들에 대한 단말 정보가 저장되어 있다.
관련해서, 사용자 단말 1(101), 사용자 단말 2(102)가 풀 노드로 미리 지정되어 있다고 하고, 사용자 단말 3(103), 사용자 단말 N(104)이 라이트 노드로 미리 지정되어 있다고 하는 경우, 노드 정보 저장부(112)에는 사용자 단말 1(101)과 사용자 단말 2(102)에 대해서 풀 노드 사용자 단말로 단말 정보가 저장되어 있을 수 있고, 사용자 단말 3(103)과 사용자 단말 N(104)에 대해서 라이트 노드 사용자 단말로 단말 정보가 저장되어 있을 수 있다.
블록 생성부(113)는 복수의 사용자 단말들(101, 102, 103, 104)에 배포해야 하는 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되면, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 생성하고, 상기 블록체인 데이터를 기초로 상기 제1 트랜잭션이 포함된 제1 블록을 생성한 후 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결한다.
예컨대, 관리자에 의해 업데이트 데이터 관리 서버(110)에 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 업로드되거나, 소정의 업데이트 데이터 생성 서버(미도시)에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되는 경우, 블록 생성부(113)는 상기 신규 업데이트 데이터가 포함된 상기 제1 트랜잭션을 생성한 후 상기 블록체인 데이터에 연결되어 있는 이전 블록의 블록 헤더를 참조하여 상기 제1 트랜잭션을 포함하는 새로운 블록인 상기 제1 블록을 생성할 수 있다.
이렇게, 상기 제1 블록이 생성되면, 블록체인 등록 요청부(114)는 노드 정보 저장부(112)에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들 중 어느 하나인 제1 풀 노드 사용자 단말을 선택한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송한다.
예컨대, 상기 제1 풀 노드 사용자 단말이 사용자 단말 1(101)이라고 하는 경우, 블록체인 등록 요청부(114)는 사용자 단말 1(101)로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송한다.
이때, 본 발명의 일실시예에 따르면, 블록체인 등록 요청부(114)는 풀 노드 사용자 단말을 선택하기 위한 구체적인 구성으로, 상태 정보 요청부(115), 상태 정보 수신부(116), 특성 벡터 생성부(117), 코사인 유사도 연산부(118) 및 풀 노드 선택부(119)를 포함할 수 있다.
상태 정보 요청부(115)는 상기 제1 블록이 생성되면, 노드 정보 저장부(112)에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들로 미리 지정된 n(n은 2이상의 자연수)가지 종류의 상태 정보에 대한 수치 값의 전송을 요청한다.
여기서, 상기 n가지 종류의 상태 정보에 대한 수치 값은 각 풀 노드 사용자 단말의 현재 CPU 사용률, 각 풀 노드 사용자 단말의 현재 데이터 트래픽, 각 풀 노드 사용자 단말의 네트워크 속도 등이 될 수 있다.
관련해서, 업데이트 데이터 관리 서버(110)의 관리자는 상기 복수의 풀 노드 사용자 단말들 중 현재 CPU 사용률이 낮거나 현재의 네트워크 트래픽이 낮은 풀 노드 사용자 단말이 선택될 수 있도록 상태 정보의 종류를 미리 지정해 둘 수 있다.
이렇게, 상기 복수의 풀 노드 사용자 단말들로 상기 n가지 종류의 상태 정보에 대한 수치 값의 전송 요청이 전송된 이후, 상기 요청에 따라 상기 복수의 풀 노드 사용자 단말들이 상기 n가지 종류의 상태 정보에 대한 수치 값을 생성하여 전송하게 되면, 상태 정보 수신부(116)는 상기 복수의 풀 노드 사용자 단말들 각각으로부터, 상기 복수의 풀 노드 사용자 단말들 각각에서 생성된 상기 n가지 종류의 상태 정보에 대한 수치 값을 수신한다.
특성 벡터 생성부(117)는 상기 복수의 풀 노드 사용자 단말들 각각으로부터 수신된 상기 n가지 종류의 상태 정보에 대한 수치 값을 기초로, 상기 복수의 풀 노드 사용자 단말들 각각에 대해서 상기 n가지 종류의 상태 정보에 대한 수치 값을 성분으로 갖는 n차원의 특성 벡터를 생성한다.
예컨대, 특정 풀 노드 사용자 단말로부터 '100', '150', '300'이라고 하는 3가지 종류의 상태 정보에 대한 수치 값이 수신되었다고 하는 경우, 특성 벡터 생성부(117)는 상기 특정 풀 노드 사용자 단말에 대해 '[100 150 300]'과 같은 3차원의 특성 벡터를 생성할 수 있다.
코사인 유사도 연산부(118)는 상기 복수의 풀 노드 사용자 단말들 각각에 대한 상기 n차원의 특성 벡터와 미리 지정된 n차원의 기준 벡터 사이의 코사인 유사도를 연산한다.
여기서, 상기 n차원의 기준 벡터는 상기 블록체인 네트워크로의 등록 요청을 전송할 풀 노드 사용자 단말을 선택하기 위한 기준으로 미리 지정된 상기 n가지 종류의 상태 정보에 대한 기준 수치 값을 성분으로 갖는 벡터를 의미한다. 예컨대, n을 3이라고 하고, 3가지 종류의 상태 정보에 대한 기준 수치 값이 각각 '130', '170', '210'이라고 하는 경우, 상기 기준 벡터는 '[130 170 210]'이 될 수 있다. 관련해서, 상기 3가지 종류의 상태 정보가 현재 CPU 사용률, 네트워크 트래픽, 네트워크 속도라고 하는 경우, 업데이트 데이터 관리 서버(110)의 관리자는 상기 복수의 풀 노드 사용자 단말들 중 현재 CPU 사용률이 낮거나 현재의 네트워크 트래픽이 낮으면서, 현재의 네트워크 속도가 높은 풀 노드 사용자 단말이 선택될 수 있도록 상기 기준 수치 값을 지정해 둘 수 있을 것이다.
이때, 코사인 유사도 연산부(118)는 하기의 수학식 1의 연산에 따라 상기 코사인 유사도를 연산할 수 있다.
Figure 112020014964279-pat00001
여기서, S는 벡터 A와 B 사이의 코사인 유사도로 -1에서 1사이의 값을 가지며, 그 값이 클수록 유사한 벡터임을 의미하고, Ai는 벡터 A의 i번째 성분, Bi는 벡터 B의 i번째 성분을 의미한다.
풀 노드 선택부(119)는 상기 복수의 풀 노드 사용자 단말들 중 상기 코사인 유사도가 최대로 연산된 특성 벡터를 갖는 풀 노드 사용자 단말을 상기 제1 풀 노드 사용자 단말로 선택한다.
즉, 풀 노드 선택부(119)는 관리자에 의해 미리 지정되어 있는 상기 기준 벡터에 가장 근접한 상태 정보에 대한 수치 값을 전송한 풀 노드 사용자 단말을 상기 제1 블록에 대한 블록체인 네트워크로의 등록 요청을 전송할 상기 제1 풀 노드 사용자 단말로 선택할 수 있다.
이렇게, 블록체인 등록 요청부(114)에서 상기 제1 풀 노드 사용자 단말이 선택되어, 상기 제1 풀 노드 사용자 단말로 상기 제1 블록과 상기 제1 블록의 블록체인 네트워크로의 등록 요청이 전송된 경우, 상기 제1 풀 노드 사용자 단말은 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 제1 풀 노드 사용자 단말에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 풀 노드 사용자 단말의 메모리에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결하여 상기 제1 블록 전체를 저장한 후 상기 제1 블록을 상기 블록체인 네트워크를 통해 상기 복수의 사용자 단말들 중 상기 제1 풀 노드 사용자 단말을 제외한 나머지 사용자 단말들로 전파할 수 있다.
관련해서, 설명의 편의를 위해, 상기 제1 풀 노드 사용자 단말을 사용자 단말 1(101)이라고 하는 경우, 사용자 단말 1(101)은 업데이트 데이터 관리 서버(110)로부터 상기 제1 블록과 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 사용자 단말 1(101)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 사용자 단말 1(101)의 메모리에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결하여 상기 제1 블록 전체를 저장한 후 상기 제1 블록을 상기 블록체인 네트워크를 통해 복수의 사용자 단말들(101, 102, 103, 104) 중 사용자 단말 1(101)을 제외한 나머지 사용자 단말들(102, 103, 104)로 전파할 수 있다.
이때, 본 발명의 일실시예에 따르면, 나머지 사용자 단말들(102, 103, 104)은 상기 블록체인 네트워크를 통해 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 나머지 사용자 단말들 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행할 수 있다.
그리고, 나머지 사용자 단말들(102, 103, 104) 중 풀 노드로 지정된 사용자 단말들은 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록 전체를 저장할 수 있고, 라이트 노드로 지정된 사용자 단말들은 메모리 상에 저장되어 있는 상기 블록체인 데이터의 블록 헤더에 상기 제1 블록의 블록 헤더만을 체인으로 연결하여 저장할 수 있다.
이를 통해, 상기 업데이트 데이터는 복수의 사용자 단말들(101, 102, 103, 104) 각각에 배포될 수 있다.
이때, 본 발명의 일실시예에 따르면, 블록체인 등록 요청부(114)는 상기 제1 풀 노드 사용자 단말로 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 과정에서 상기 제1 풀 노드 사용자 단말을 인증하기 위한 구성으로, 인증 정보 저장부(120), 서명 요청부(121), 복원부(122), 확인부(123) 및 등록 요청부(124)를 포함할 수 있다.
우선, 본 발명에서는 업데이트 데이터 관리 서버(110)가 상기 복수의 풀 노드 사용자 단말들과 단말 인증에 사용하기 위한 m(m은 2이상의 자연수)차원의 제1 인증 벡터를 사전 공유하고 있는 것으로 가정하며, 상기 복수의 풀 노드 사용자 단말들 각각은 개인키를 사전 발급해서 저장하고 있고, 이때, 업데이트 데이터 관리 서버(110)에 각 풀 노드 사용자 단말의 개인키에 대응되는 공개키가 사전 공유되어 있는 것으로 가정한다.
이와 관련해서, 인증 정보 저장부(120)에는 단말 인증에 사용하기 위해 상기 복수의 풀 노드 사용자 단말들과 사전 공유하고 있는 m(m은 2이상의 자연수)차원의 상기 제1 인증 벡터 및 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키가 저장되어 있을 수 있다.
서명 요청부(121)는 상기 제1 풀 노드 사용자 단말이 선택되면, m차원의 일회용 랜덤 벡터를 생성하고, 상기 제1 풀 노드 사용자 단말로 상기 일회용 랜덤 벡터를 전송하면서 상기 일회용 랜덤 벡터에 대응하는 피드백 벡터에 기초한 전자 서명 값의 전송을 요청한다.
이때, 본 발명의 일실시예에 따르면, 상기 제1 풀 노드 사용자 단말은 상기 제1 풀 노드 사용자 단말의 메모리 상에 상기 제1 인증 벡터와 상기 제1 풀 노드 사용자 단말에 대한 사전 발급된 제1 개인키를 저장하고 있을 수 있다.
이때, 상기 제1 풀 노드 사용자 단말은 업데이트 데이터 관리 서버(110)로부터 상기 일회용 랜덤 벡터와 상기 전자 서명 값의 전송 요청이 수신되면, 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱(Hadamard product)을 연산하여 제1 피드백 벡터를 생성하고, 상기 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 개인키로 암호화하여 상기 제1 전자 서명 값을 생성한 후 상기 제1 전자 서명 값을 업데이트 데이터 관리 서버(110)로 전송할 수 있다.
여기서, 아다마르 곱이란 같은 크기의 행렬이나 벡터에서 각 성분을 곱하는 연산을 의미하며, '[a b c]'와 '[x y z]'라는 벡터가 있을 때, 두 벡터 간의 아다마르 곱을 연산하면, 이에 대한 연산 벡터는 '[ax by cz]'로 나타낼 수 있다.
관련해서, 상기 일회용 랜덤 벡터를 '[1 0 1 0 1]'이라고 하고, 상기 제1 인증 벡터를 '[1 1 1 1 0]'이라고 하는 경우, 상기 제1 풀 노드 사용자 단말은 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터를 아다마르 곱하여 '[1 0 1 0 0]'이라는 제1 피드백 벡터를 생성할 수 있다. 그러고 나서, 상기 제1 풀 노드 사용자 단말은 상기 제1 피드백 벡터에 대한 데이터를 상기 제1 개인키로 암호화함으로써, 상기 제1 전자 서명 값을 생성할 수 있다.
복원부(122)는 상기 제1 풀 노드 사용자 단말로부터 상기 제1 전자 서명 값(상기 제1 전자 서명 값은 상기 제1 풀 노드 사용자 단말에 기 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터와 간의 아다마르 곱이 연산되어 생성된 상기 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 제1 개인키로 암호화하여 생성한 값임)이 수신되면, 인증 정보 저장부(120)에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키 중 상기 제1 개인키에 대응되는 제1 공개키를 기초로 상기 제1 전자 서명 값을 복호화하여 상기 제1 피드백 벡터를 복원한다.
예컨대, 전술한 예시와 같이, 상기 제1 풀 노드 사용자 단말로부터 '[1 0 1 0 0]'이라고 하는 상기 제1 피드백 벡터가 상기 제1 개인키로 암호화된 상기 제1 전자 서명 값이 업데이트 데이터 관리 서버(110)에 수신되었다고 하는 경우, 복원부(122)는 상기 제1 전자 서명 값에 대해 상기 제1 개인키에 대응하는 상기 제1 공개키로 복호화를 수행함으로써, '[1 0 1 0 0]'이라고 하는 상기 제1 피드백 벡터를 복원할 수 있다.
확인부(123)는 상기 제1 피드백 벡터가 복원되면, 인증 정보 저장부(120)에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱을 연산하여 제1 연산 벡터를 생성한 후 상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한지 여부를 확인한다.
관련해서, 전술한 바와 같이, 상기 일회용 랜덤 벡터를 '[1 0 1 0 1]'이라고 하고, 상기 제1 인증 벡터를 '[1 1 1 1 0]'이라고 하며, 상기 복원된 제1 피드백 벡터를 '[1 0 1 0 0]'라고 하는 경우, 확인부(123)는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터를 아다마르 곱하여 '[1 0 1 0 0]'이라고 하는 제1 연산 벡터를 생성한 후 상기 제1 연산 벡터인 '[1 0 1 0 0]'가 상기 제1 피드백 벡터인 '[1 0 1 0 0]'과 동일한지 여부를 확인할 수 있다.
여기서, 상기 제1 연산 벡터와 상기 제1 피드백 벡터가 동일하다는 의미는 상기 제1 풀 노드 사용자 단말이 상기 제1 인증 벡터와 상기 제1 공개키에 대응되는 상기 제1 개인키를 정상적으로 공유하고 있는 풀 노드 사용자 단말이 맞는 것으로 볼 수 있기 때문에, 등록 요청부(124)는 상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한 것으로 확인되면, 상기 제1 풀 노드 사용자 단말에 대한 인증을 완료한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송한다.
도 2는 본 발명의 일실시예에 따른 블록체인 네트워크를 구성하는 개별 노드로서의 역할을 수행하는 복수의 사용자 단말들로 상기 복수의 사용자 단말들 각각에 설치되어 있는 응용 애플리케이션에 대한 업데이트 데이터를 전달하기 위한 업데이트 데이터 관리 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지한다.
단계(S220)에서는 상기 복수의 사용자 단말들 중 상기 블록체인 데이터 전체를 저장하는 풀 노드로 미리 지정된 복수의 풀 노드 사용자 단말들에 대한 단말 정보와 상기 블록체인 데이터에서 블록 헤더만을 저장하는 라이트 노드로 미리 지정된 복수의 라이트 노드 사용자 단말들에 대한 단말 정보가 저장되어 있는 노드 정보 저장부를 유지한다.
단계(S230)에서는 상기 복수의 사용자 단말들에 배포해야 하는 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되면, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 생성하고, 상기 블록체인 데이터를 기초로 상기 제1 트랜잭션이 포함된 제1 블록을 생성한 후 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결한다.
단계(S240)에서는 상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들 중 어느 하나인 제1 풀 노드 사용자 단말을 선택한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송한다.
이때, 상기 제1 풀 노드 사용자 단말은 상기 업데이트 데이터 관리 서버로부터 상기 제1 블록과 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 제1 풀 노드 사용자 단말에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 풀 노드 사용자 단말의 메모리에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결하여 상기 제1 블록 전체를 저장한 후 상기 제1 블록을 상기 블록체인 네트워크를 통해 상기 복수의 사용자 단말들 중 상기 제1 풀 노드 사용자 단말을 제외한 나머지 사용자 단말들로 전파한다.
이때, 본 발명의 일실시예에 따르면, 상기 나머지 사용자 단말들은 상기 블록체인 네트워크를 통해 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 나머지 사용자 단말들 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한 후, 풀 노드로 지정된 사용자 단말인 경우, 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록 전체를 저장하고, 라이트 노드로 지정된 사용자 단말인 경우, 메모리 상에 저장되어 있는 상기 블록체인 데이터의 블록 헤더에 상기 제1 블록의 블록 헤더만을 체인으로 연결하여 저장할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 제1 블록이 생성되면, 상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들로 미리 지정된 n(n은 2이상의 자연수)가지 종류의 상태 정보에 대한 수치 값의 전송을 요청하는 단계, 상기 복수의 풀 노드 사용자 단말들 각각으로부터, 상기 복수의 풀 노드 사용자 단말들 각각에서 생성된 상기 n가지 종류의 상태 정보에 대한 수치 값을 수신하는 단계, 상기 복수의 풀 노드 사용자 단말들 각각으로부터 수신된 상기 n가지 종류의 상태 정보에 대한 수치 값을 기초로, 상기 복수의 풀 노드 사용자 단말들 각각에 대해서 상기 n가지 종류의 상태 정보에 대한 수치 값을 성분으로 갖는 n차원의 특성 벡터를 생성하는 단계, 상기 복수의 풀 노드 사용자 단말들 각각에 대한 상기 n차원의 특성 벡터와 미리 지정된 n차원의 기준 벡터(상기 n차원의 기준 벡터는 상기 블록체인 네트워크로의 등록 요청을 전송할 풀 노드 사용자 단말을 선택하기 위한 기준으로 미리 지정된 상기 n가지 종류의 상태 정보에 대한 기준 수치 값을 성분으로 갖는 벡터임)사이의 코사인 유사도를 연산하는 단계 및 상기 복수의 풀 노드 사용자 단말들 중 상기 코사인 유사도가 최대로 연산된 특성 벡터를 갖는 풀 노드 사용자 단말을 상기 제1 풀 노드 사용자 단말로 선택하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S240)에서는 단말 인증에 사용하기 위해 상기 복수의 풀 노드 사용자 단말들과 사전 공유하고 있는 m(m은 2이상의 자연수)차원의 제1 인증 벡터 및 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키가 저장되어 있는 인증 정보 저장부를 유지하는 단계, 상기 제1 풀 노드 사용자 단말이 선택되면, m차원의 일회용 랜덤 벡터를 생성하고, 상기 제1 풀 노드 사용자 단말로 상기 일회용 랜덤 벡터를 전송하면서 상기 일회용 랜덤 벡터에 대응하는 피드백 벡터에 기초한 전자 서명 값의 전송을 요청하는 단계, 상기 제1 풀 노드 사용자 단말로부터 제1 전자 서명 값(상기 제1 전자 서명 값은 상기 제1 풀 노드 사용자 단말에 기 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터와 간의 아다마르 곱이 연산되어 생성된 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 제1 개인키로 암호화하여 생성한 값임)이 수신되면, 상기 인증 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키 중 상기 제1 개인키에 대응되는 제1 공개키를 기초로 상기 제1 전자 서명 값을 복호화하여 상기 제1 피드백 벡터를 복원하는 단계, 상기 제1 피드백 벡터가 복원되면, 상기 인증 정보 저장부에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱을 연산하여 제1 연산 벡터를 생성한 후 상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한지 여부를 확인하는 단계 및 상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한 것으로 확인되면, 상기 제1 풀 노드 사용자 단말에 대한 인증을 완료한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제1 풀 노드 사용자 단말은 상기 제1 풀 노드 사용자 단말의 메모리 상에 상기 제1 인증 벡터와 상기 제1 개인키를 저장하고 있고, 상기 업데이트 데이터 관리 서버로부터 상기 일회용 랜덤 벡터와 상기 전자 서명 값의 전송 요청이 수신되면, 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱을 연산하여 상기 제1 피드백 벡터를 생성하고, 상기 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 개인키로 암호화하여 상기 제1 전자 서명 값을 생성한 후 상기 제1 전자 서명 값을 업데이트 데이터 관리 서버로 전송할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버의 동작 방법은 도 1을 이용하여 설명한 업데이트 데이터 관리 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 업데이트 데이터 관리 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 업데이트 데이터 관리 서버
111: 블록체인 데이터 저장부 112: 노드 정보 저장부
113: 블록 생성부 114: 블록체인 등록 요청부
115: 상태 정보 요청부 116: 상태 정보 수신부
117: 특성 벡터 생성부 118: 코사인 유사도 연산부
119: 풀 노드 선택부 120: 인증 정보 저장부
121: 서명 요청부 122: 복원부
123: 확인부 124: 등록 요청부
101, 102, 103, 104: 복수의 사용자 단말들

Claims (12)

  1. 블록체인 네트워크를 구성하는 개별 노드로서의 역할을 수행하는 복수의 사용자 단말들로 상기 복수의 사용자 단말들 각각에 설치되어 있는 응용 애플리케이션에 대한 업데이트 데이터를 전달하기 위한 업데이트 데이터 관리 서버에 있어서,
    상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부;
    상기 복수의 사용자 단말들 중 상기 블록체인 데이터 전체를 저장하는 풀 노드(Full node)로 미리 지정된 복수의 풀 노드 사용자 단말들에 대한 단말 정보와 상기 블록체인 데이터에서 블록 헤더만을 저장하는 라이트 노드(Light node)로 미리 지정된 복수의 라이트 노드 사용자 단말들에 대한 단말 정보가 저장되어 있는 노드 정보 저장부;
    상기 복수의 사용자 단말들에 배포해야 하는 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되면, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 생성하고, 상기 블록체인 데이터를 기초로 상기 제1 트랜잭션이 포함된 제1 블록을 생성한 후 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결하는 블록 생성부; 및
    상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들 중 어느 하나인 제1 풀 노드 사용자 단말을 선택한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 블록체인 등록 요청부
    를 포함하고,
    상기 블록체인 등록 요청부는
    상기 제1 블록이 생성되면, 상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들로 미리 지정된 n(n은 2이상의 자연수)가지 종류의 상태 정보에 대한 수치 값의 전송을 요청하는 상태 정보 요청부;
    상기 복수의 풀 노드 사용자 단말들 각각으로부터, 상기 복수의 풀 노드 사용자 단말들 각각에서 생성된 상기 n가지 종류의 상태 정보에 대한 수치 값을 수신하는 상태 정보 수신부;
    상기 복수의 풀 노드 사용자 단말들 각각으로부터 수신된 상기 n가지 종류의 상태 정보에 대한 수치 값을 기초로, 상기 복수의 풀 노드 사용자 단말들 각각에 대해서 상기 n가지 종류의 상태 정보에 대한 수치 값을 성분으로 갖는 n차원의 특성 벡터를 생성하는 특성 벡터 생성부;
    상기 복수의 풀 노드 사용자 단말들 각각에 대한 상기 n차원의 특성 벡터와 미리 지정된 n차원의 기준 벡터 - 상기 n차원의 기준 벡터는 상기 블록체인 네트워크로의 등록 요청을 전송할 풀 노드 사용자 단말을 선택하기 위한 기준으로 미리 지정된 상기 n가지 종류의 상태 정보에 대한 기준 수치 값을 성분으로 갖는 벡터임 - 사이의 코사인 유사도를 연산하는 코사인 유사도 연산부; 및
    상기 복수의 풀 노드 사용자 단말들 중 상기 코사인 유사도가 최대로 연산된 특성 벡터를 갖는 풀 노드 사용자 단말을 상기 제1 풀 노드 사용자 단말로 선택하는 풀 노드 선택부
    를 포함하며,
    상기 제1 풀 노드 사용자 단말은
    상기 업데이트 데이터 관리 서버로부터 상기 제1 블록과 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 제1 풀 노드 사용자 단말에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 풀 노드 사용자 단말의 메모리에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결하여 상기 제1 블록 전체를 저장한 후 상기 제1 블록을 상기 블록체인 네트워크를 통해 상기 복수의 사용자 단말들 중 상기 제1 풀 노드 사용자 단말을 제외한 나머지 사용자 단말들로 전파하는 업데이트 데이터 관리 서버.
  2. 제1항에 있어서,
    상기 나머지 사용자 단말들은
    상기 블록체인 네트워크를 통해 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 나머지 사용자 단말들 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한 후, 풀 노드로 지정된 사용자 단말인 경우, 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록 전체를 저장하고, 라이트 노드로 지정된 사용자 단말인 경우, 메모리 상에 저장되어 있는 상기 블록체인 데이터의 블록 헤더에 상기 제1 블록의 블록 헤더만을 체인으로 연결하여 저장하는 업데이트 데이터 관리 서버.
  3. 삭제
  4. 제1항에 있어서,
    상기 블록체인 등록 요청부는
    단말 인증에 사용하기 위해 상기 복수의 풀 노드 사용자 단말들과 사전 공유하고 있는 m(m은 2이상의 자연수)차원의 제1 인증 벡터 및 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키가 저장되어 있는 인증 정보 저장부;
    상기 제1 풀 노드 사용자 단말이 선택되면, m차원의 일회용 랜덤 벡터를 생성하고, 상기 제1 풀 노드 사용자 단말로 상기 일회용 랜덤 벡터를 전송하면서 상기 일회용 랜덤 벡터에 대응하는 피드백 벡터에 기초한 전자 서명 값의 전송을 요청하는 서명 요청부;
    상기 제1 풀 노드 사용자 단말로부터 제1 전자 서명 값 - 상기 제1 전자 서명 값은 상기 제1 풀 노드 사용자 단말에 기 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터와 간의 아다마르 곱(Hadamard product)이 연산되어 생성된 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 제1 개인키로 암호화하여 생성한 값임 - 이 수신되면, 상기 인증 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키 중 상기 제1 개인키에 대응되는 제1 공개키를 기초로 상기 제1 전자 서명 값을 복호화하여 상기 제1 피드백 벡터를 복원하는 복원부;
    상기 제1 피드백 벡터가 복원되면, 상기 인증 정보 저장부에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱을 연산하여 제1 연산 벡터를 생성한 후 상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한지 여부를 확인하는 확인부; 및
    상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한 것으로 확인되면, 상기 제1 풀 노드 사용자 단말에 대한 인증을 완료한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
    를 포함하는 업데이트 데이터 관리 서버.
  5. 제4항에 있어서,
    상기 제1 풀 노드 사용자 단말은
    상기 제1 풀 노드 사용자 단말의 메모리 상에 상기 제1 인증 벡터와 상기 제1 개인키를 저장하고 있고, 상기 업데이트 데이터 관리 서버로부터 상기 일회용 랜덤 벡터와 상기 전자 서명 값의 전송 요청이 수신되면, 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱을 연산하여 상기 제1 피드백 벡터를 생성하고, 상기 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 개인키로 암호화하여 상기 제1 전자 서명 값을 생성한 후 상기 제1 전자 서명 값을 업데이트 데이터 관리 서버로 전송하는 업데이트 데이터 관리 서버.
  6. 블록체인 네트워크를 구성하는 개별 노드로서의 역할을 수행하는 복수의 사용자 단말들로 상기 복수의 사용자 단말들 각각에 설치되어 있는 응용 애플리케이션에 대한 업데이트 데이터를 전달하기 위한 업데이트 데이터 관리 서버의 동작 방법에 있어서,
    상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계;
    상기 복수의 사용자 단말들 중 상기 블록체인 데이터 전체를 저장하는 풀 노드(Full node)로 미리 지정된 복수의 풀 노드 사용자 단말들에 대한 단말 정보와 상기 블록체인 데이터에서 블록 헤더만을 저장하는 라이트 노드(Light node)로 미리 지정된 복수의 라이트 노드 사용자 단말들에 대한 단말 정보가 저장되어 있는 노드 정보 저장부를 유지하는 단계;
    상기 복수의 사용자 단말들에 배포해야 하는 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되면, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 생성하고, 상기 블록체인 데이터를 기초로 상기 제1 트랜잭션이 포함된 제1 블록을 생성한 후 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결하는 단계; 및
    상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들 중 어느 하나인 제1 풀 노드 사용자 단말을 선택한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
    를 포함하고,
    상기 등록 요청을 전송하는 단계는
    상기 제1 블록이 생성되면, 상기 노드 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들에 대한 단말 정보를 기초로 상기 복수의 풀 노드 사용자 단말들로 미리 지정된 n(n은 2이상의 자연수)가지 종류의 상태 정보에 대한 수치 값의 전송을 요청하는 단계;
    상기 복수의 풀 노드 사용자 단말들 각각으로부터, 상기 복수의 풀 노드 사용자 단말들 각각에서 생성된 상기 n가지 종류의 상태 정보에 대한 수치 값을 수신하는 단계;
    상기 복수의 풀 노드 사용자 단말들 각각으로부터 수신된 상기 n가지 종류의 상태 정보에 대한 수치 값을 기초로, 상기 복수의 풀 노드 사용자 단말들 각각에 대해서 상기 n가지 종류의 상태 정보에 대한 수치 값을 성분으로 갖는 n차원의 특성 벡터를 생성하는 단계;
    상기 복수의 풀 노드 사용자 단말들 각각에 대한 상기 n차원의 특성 벡터와 미리 지정된 n차원의 기준 벡터 - 상기 n차원의 기준 벡터는 상기 블록체인 네트워크로의 등록 요청을 전송할 풀 노드 사용자 단말을 선택하기 위한 기준으로 미리 지정된 상기 n가지 종류의 상태 정보에 대한 기준 수치 값을 성분으로 갖는 벡터임 - 사이의 코사인 유사도를 연산하는 단계; 및
    상기 복수의 풀 노드 사용자 단말들 중 상기 코사인 유사도가 최대로 연산된 특성 벡터를 갖는 풀 노드 사용자 단말을 상기 제1 풀 노드 사용자 단말로 선택하는 단계
    를 포함하며,
    상기 제1 풀 노드 사용자 단말은
    상기 업데이트 데이터 관리 서버로부터 상기 제1 블록과 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 제1 풀 노드 사용자 단말에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 풀 노드 사용자 단말의 메모리에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결하여 상기 제1 블록 전체를 저장한 후 상기 제1 블록을 상기 블록체인 네트워크를 통해 상기 복수의 사용자 단말들 중 상기 제1 풀 노드 사용자 단말을 제외한 나머지 사용자 단말들로 전파하는 업데이트 데이터 관리 서버의 동작 방법.
  7. 제6항에 있어서,
    상기 나머지 사용자 단말들은
    상기 블록체인 네트워크를 통해 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 나머지 사용자 단말들 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한 후, 풀 노드로 지정된 사용자 단말인 경우, 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록 전체를 저장하고, 라이트 노드로 지정된 사용자 단말인 경우, 메모리 상에 저장되어 있는 상기 블록체인 데이터의 블록 헤더에 상기 제1 블록의 블록 헤더만을 체인으로 연결하여 저장하는 업데이트 데이터 관리 서버의 동작 방법.
  8. 삭제
  9. 제6항에 있어서,
    상기 등록 요청을 전송하는 단계는
    단말 인증에 사용하기 위해 상기 복수의 풀 노드 사용자 단말들과 사전 공유하고 있는 m(m은 2이상의 자연수)차원의 제1 인증 벡터 및 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키가 저장되어 있는 인증 정보 저장부를 유지하는 단계;
    상기 제1 풀 노드 사용자 단말이 선택되면, m차원의 일회용 랜덤 벡터를 생성하고, 상기 제1 풀 노드 사용자 단말로 상기 일회용 랜덤 벡터를 전송하면서 상기 일회용 랜덤 벡터에 대응하는 피드백 벡터에 기초한 전자 서명 값의 전송을 요청하는 단계;
    상기 제1 풀 노드 사용자 단말로부터 제1 전자 서명 값 - 상기 제1 전자 서명 값은 상기 제1 풀 노드 사용자 단말에 기 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터와 간의 아다마르 곱(Hadamard product)이 연산되어 생성된 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 제1 개인키로 암호화하여 생성한 값임 - 이 수신되면, 상기 인증 정보 저장부에 저장되어 있는 상기 복수의 풀 노드 사용자 단말들 각각의 개인키에 대응하는 공개키 중 상기 제1 개인키에 대응되는 제1 공개키를 기초로 상기 제1 전자 서명 값을 복호화하여 상기 제1 피드백 벡터를 복원하는 단계;
    상기 제1 피드백 벡터가 복원되면, 상기 인증 정보 저장부에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱을 연산하여 제1 연산 벡터를 생성한 후 상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한지 여부를 확인하는 단계; 및
    상기 제1 연산 벡터가 상기 제1 피드백 벡터와 동일한 것으로 확인되면, 상기 제1 풀 노드 사용자 단말에 대한 인증을 완료한 후 상기 제1 풀 노드 사용자 단말로 상기 제1 블록을 전송하면서, 상기 제1 블록의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
    를 포함하는 업데이트 데이터 관리 서버의 동작 방법.
  10. 제9항에 있어서,
    상기 제1 풀 노드 사용자 단말은
    상기 제1 풀 노드 사용자 단말의 메모리 상에 상기 제1 인증 벡터와 상기 제1 개인키를 저장하고 있고, 상기 업데이트 데이터 관리 서버로부터 상기 일회용 랜덤 벡터와 상기 전자 서명 값의 전송 요청이 수신되면, 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 인증 벡터와 상기 일회용 랜덤 벡터 간의 아다마르 곱을 연산하여 상기 제1 피드백 벡터를 생성하고, 상기 제1 피드백 벡터를 상기 제1 풀 노드 사용자 단말의 메모리 상에 저장되어 있는 상기 제1 개인키로 암호화하여 상기 제1 전자 서명 값을 생성한 후 상기 제1 전자 서명 값을 업데이트 데이터 관리 서버로 전송하는 업데이트 데이터 관리 서버의 동작 방법.
  11. 제6항, 제7항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항, 제7항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020200017126A 2019-12-12 2020-02-12 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법 KR102316758B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190165864 2019-12-12
KR20190165864 2019-12-12

Publications (2)

Publication Number Publication Date
KR20210074978A KR20210074978A (ko) 2021-06-22
KR102316758B1 true KR102316758B1 (ko) 2021-10-25

Family

ID=76600695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200017126A KR102316758B1 (ko) 2019-12-12 2020-02-12 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102316758B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419769B (zh) * 2021-06-23 2024-02-20 中国信息通信研究院 一种应用软件管理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170346693A1 (en) * 2016-05-27 2017-11-30 Mastercard International Incorporated Method and system for efficient distribution of configuration data utilizing permissioned blockchain technology
KR102023094B1 (ko) * 2019-03-26 2019-09-19 국방과학연구소 블록체인 네트워크를 이용한 무인비행체 임무계획 관리 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170346693A1 (en) * 2016-05-27 2017-11-30 Mastercard International Incorporated Method and system for efficient distribution of configuration data utilizing permissioned blockchain technology
KR102023094B1 (ko) * 2019-03-26 2019-09-19 국방과학연구소 블록체인 네트워크를 이용한 무인비행체 임무계획 관리 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
해시넷, "라이트노드", http://wiki.hash.kr/index.php/라이트노드#cite_note-1(2019.08.01.)*

Also Published As

Publication number Publication date
KR20210074978A (ko) 2021-06-22

Similar Documents

Publication Publication Date Title
Li et al. OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices
JP2020532169A (ja) ブロックチェーンにおける擬似乱数生成
Liu et al. Public auditing for big data storage in cloud computing--a survey
CN102170440A (zh) 适用于存储云间数据安全迁移的方法
KR102295263B1 (ko) 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법
CN110580412A (zh) 基于链代码的权限查询配置方法及装置
KR102218188B1 (ko) 블록체인 기반의 인증서 관리를 수행하는 노드 장치 및 그 동작 방법
KR102228210B1 (ko) 블록체인 네트워크에서의 트랜잭션의 삭제를 가능하게 하는 노드 장치 및 그 동작 방법
CN111611623B (zh) 一种隐私数据处理方法和装置
JP2018093434A (ja) トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置
KR20180005542A (ko) 데이터 무결성 검증을 위한 장치 및 방법
JP5985884B2 (ja) 情報処理装置、情報処理方法、および情報処理システム
KR102316758B1 (ko) 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 데이터를 배포하는 업데이트 데이터 관리 서버 및 그 동작 방법
KR102316763B1 (ko) 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 응용 애플리케이션의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법
EP4035305A1 (en) Partitioning a request into transactions for a blockchain
KR20210020699A (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
TWI782701B (zh) 區塊鏈錢包的非互動式批核系統及其方法
KR102442674B1 (ko) 사설 클라우드 서버에 대한 액세스를 관리하는 액세스 관리 서버 및 그 동작 방법
KR102365945B1 (ko) 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법
KR102122773B1 (ko) 복원가능 기능을 가지는 리댁터블 서명 시스템 및 방법
KR102318022B1 (ko) 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 업데이트 데이터의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법
KR102240931B1 (ko) 복수의 pos 단말기들과 연동하여 결제 정보의 분산 저장을 가능하게 하는 블록체인 기반의 결제 관리 서버 및 그 동작 방법
CN109639409B (zh) 密钥初始化方法、装置、电子设备及计算机可读存储介质
KR20210127063A (ko) 분산 서비스 환경에서의 사용자 개인키 백업 및 복원 프레임워크
KR20200144214A (ko) 네트워크 상에서 합의된 데이터를 전송하는 방법 및 네트워크 상에서 합의된 데이터를 전송하기 위한 전자기기

Legal Events

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