KR20210074980A - 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법 - Google Patents
블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- KR20210074980A KR20210074980A KR1020200025952A KR20200025952A KR20210074980A KR 20210074980 A KR20210074980 A KR 20210074980A KR 1020200025952 A KR1020200025952 A KR 1020200025952A KR 20200025952 A KR20200025952 A KR 20200025952A KR 20210074980 A KR20210074980 A KR 20210074980A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- node device
- snapshot
- new
- electronic terminal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법이 개시된다. 본 발명에 따른 전자 단말 장치 및 그 동작 방법은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.
Description
본 발명은 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법에 대한 것이다.
최근, 출시되고 있는 백신 프로그램이나, 오피스 프로그램, 게임 등과 같은 응용 애플리케이션들은 제품 출시 후 애플리케이션 상에 새로운 바이러스 정보를 반영하거나 다양한 오류를 개선하기 위해 업데이트 기능을 제공하는 경우가 많다.
기존의 응용 애플리케이션에 대한 업데이트는 하나의 업데이트 서버가 응용 애플리케이션이 설치된 다수의 사용자 단말들에 대해 업데이트 데이터를 제공하는 형태로 이루어지고 있었기 때문에 업데이트에 따른 서버 부하가 가중되는 문제가 있었다.
이러한 업데이트에 따른 서버 부하를 분산시키기 위한 방안으로 다수의 사용자 단말들에 대해 동시에 업데이트 데이터를 전달하는 것이 아니라, 시간을 나누어 순차적으로 업데이트 데이터를 전달하는 방식이 사용되곤 했었다.
하지만, 이러한 업데이트 방식은 특정 사용자들에 대해서만 먼저 업데이트 데이터가 전달되기 때문에 사용자 간의 형평성 문제가 발생할 수 있다.
최근에는 소정의 데이터를 체인화된 블록으로 구성하여 중앙 서버가 아닌 노드들에 분산 저장함으로써, 해당 데이터에 대한 무결성을 보장할 수 있는 블록체인 기술이 널리 활용되고 있다.
블록체인 기술은 트랜잭션이라고 하는 소정의 데이터가 생성되면, 블록체인 네트워크에 참여하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치가 여러 블록들이 체인으로 연결되어 있는 블록체인 데이터에 포함된 이전 블록을 기초로 상기 트랜잭션이 포함된 새로운 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 블록체인 네트워크를 통해 다른 노드 장치들로 배포함으로써, 소정의 데이터가 복수의 노드 장치들에 분산 저장되도록 하는 기술을 의미한다.
이러한 블록체인 기술은 중앙 서버에서 다수의 노드들로 데이터를 전달하는 것이 아니라, 노드들 간의 P2P를 기반으로 데이터 전파가 이루어지기 때문에 여러 사용자들에게 데이터를 배포하는 시스템에서의 활용성이 뛰어난 장점이 있다.
따라서, 소정의 응용 애플리케이션이 설치된 다수의 사용자 단말들로 업데이트 데이터를 전달해야 하는 시스템에 있어서, 이러한 블록체인 기술을 활용함으로써, 효율적으로 업데이트 데이터를 다수의 사용자 단말들로 배포할 수 있는 기술의 연구가 필요하다.
본 발명에 따른 전자 단말 장치 및 그 동작 방법은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 한다.
본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 는 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부, 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 블록 수신부, 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 업데이트 처리부 및 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 블록 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 의 동작 방법은 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계, 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 단계, 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 단계 및 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 단계를 포함한다.
본 발명에 따른 전자 단말 장치 및 그 동작 방법은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 전자 단말 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법을 도시한 순서도이다.
도 2는 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 전자 단말 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 전자 단말 장치(110)는 블록체인 데이터 저장부(111), 블록 수신부(112), 업데이트 처리부(113) 및 블록 전송부(114)를 포함한다.
우선, 본 발명에서는 복수의 노드 장치들이 블록체인 네트워크를 구성하고 있고, 이때, 전자 단말 장치(110)는 상기 복수의 노드 장치들 중 하나인 것으로 가정한다. 그리고, 전자 단말 장치(110)를 포함해서 상기 복수의 노드 장치들에는 업데이트의 대상이 되는 소정의 응용 애플리케이션이 설치되어 있다고 가정한다. 여기서, 응용 애플리케이션이란 백신 프로그램, 오피스 프로그램, 유틸리티 프로그램, 게임 등과 같이 마이크로 프로세서 기반의 장치에서 설치되어 구동될 수 있는 소정의 애플리케이션을 의미한다.
또한, 본 발명에서 업데이트 데이터 관리 서버(100)는 상기 블록체인 네트워크를 통해 상기 응용 애플리케이션에 대한 업데이트 데이터를 상기 복수의 노드 장치들로 전파하는 서버를 의미한다.
그리고, 상기 복수의 노드 장치들 각각의 메모리에는 상기 응용 애플리케이션에 대한 업데이트 데이터가 포함된 트랜잭션을 기반으로 생성된 블록들이 체인으로 연결되어 있는 블록체인 데이터가 저장되어 있다. 상기 블록체인 데이터는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결되어 있는 데이터이며, 상기 복수의 노드 장치들 각각의 메모리 상에 저장되어 있음으로 인해 상기 복수의 노드 장치들이 블록체인 네트워크를 구성할 수 있도록 한다.
이와 관련해서, 전자 단말 장치(110)에서는 블록체인 데이터 저장부(111)에 전자 단말 장치(110)에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있을 수 있다.
이러한 상황 하에서, 업데이트 데이터 관리 서버(100)에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되게 되면, 업데이트 데이터 관리 서버(100)는 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록을 생성한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들로 전파하기 시작할 수 있다.
이때, 상기 복수의 노드 장치들은 상기 제1 블록을 블록체인 네트워크를 통해 다른 노드 장치들로 전파할 수 있다.
이렇게, 상기 제1 블록이 업데이트 데이터 관리 서버(100)로부터 상기 블록체인 네트워크를 통해 상기 복수의 노드 장치들에 전파됨에 따라, 마침내 상기 복수의 노드 장치들 중 전자 단말 장치(110)로 블록을 전달하는 노드인 것으로 사전 설정된 제1 노드 장치(102)에 상기 제1 블록이 네트워크(101)를 통해 수신된 후 제1 노드 장치(102)가 상기 제1 블록을 전자 단말 장치(110)로 전송하게 되면, 전자 단말 장치(110)의 블록 수신부(112)는 제1 노드 장치(102)로부터 상기 제1 블록을 수신한다.
그리고, 업데이트 처리부(113)는 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 전자 단말 장치(110)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한다.
그 이후, 블록 전송부(114)는 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치(103)로 상기 제1 블록을 전송한다.
이러한 방식으로, 전자 단말 장치(110)는 블록체인 네트워크를 통해서 수신된 상기 제1 블록을 기반으로 상기 응용 애플리케이션에 대한 업데이트 처리를 완료하고, 상기 제1 블록을 블록체인 데이터에 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 제1 블록을 상기 블록체인 네트워크의 다음 노드 장치들(103)로 전파할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 제2 노드 장치(103)는 전자 단말 장치(110)로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치(103) 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치(103)의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치(103) 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송할 수 있다.
즉, 적어도 하나의 제2 노드 장치(103)는 전자 단말 장치(110)로부터 상기 제1 블록이 수신되면, 상기 제1 블록을 기초로 상기 응용 애플리케이션에 대한 업데이트를 처리하고, 상기 제1 블록을 블록체인 데이터에 연결한 후 다음 노드 장치들로 전파할 수 있다.
결국, 본 발명에 따른 전자 단말 장치(110)는 업데이트 데이터 관리 서버(100)로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.
본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 스냅샷 블록 생성부(115), 스냅샷 블록 저장 처리부(116), 스냅샷 블록 확인부(117), 추가 블록 확인부(118) 및 신규 블록 전송부(119)를 더 포함할 수 있다.
스냅샷 블록 생성부(115)는 미리 설정된 주기마다 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성한다.
관련해서, 상기 블록체인 데이터는 신규 업데이트 데이터가 생성될 때마다 그에 대응되는 블록들이 생성되어 연결된 데이터이기 때문에, 스냅샷 블록 생성부(115)는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록를 생성할 수 있다.
스냅샷 블록 저장 처리부(116)는 상기 스냅샷 블록이 생성되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료한다.
즉, 스냅샷 블록 생성부(115)와 스냅샷 블록 저장 처리부(116)는 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 이를 상기 블록체인 데이터에 체인으로 연결해서 저장해 둘 수 있다.
이러한 스냅샷 블록의 생성 및 저장 이벤트는 전자 단말 장치(110)에서만 발생하는 것이 아니라, 전자 단말 장치(110)와 블록체인 네트워크를 구성하는 상기 복수의 노드 장치들 전부에서 발생된다. 즉, 상기 블록체인 네트워크를 구성하고 있는 상기 복수의 노드 장치들은 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 각 노드 장치에 저장되어 있는 블록체인 데이터에 체인으로 연결하여 저장해 둘 수 있다.
이렇게, 특정 주기에서 블록체인 데이터에 스냅샷 블록이 연결된 이후, 업데이트 데이터 관리 서버(100)에서 신규 업데이트 데이터가 또 생성되면, 상기 신규 업데이트 데이터에 대한 신규 블록이 상기 블록체인 네트워크를 통해 전파됨으로써, 상기 신규 블록은 상기 복수의 노드 장치들 각각에 저장된 블록체인 데이터에서 상기 스냅샷 블록의 다음 블록에 체인으로 연결되어 저장될 수 있다. 이러한 방식으로, 상기 복수의 노드 장치들에 저장된 블록체인 데이터에는 신규 업데이트 데이터가 발생할 때마다 대응되는 블록이 연결되되, 소정 주기 간격으로 스냅샷 블록이 생성되어 추가로 연결될 수 있다.
이때, 상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치(104)로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 전자 단말 장치(110)에 수신되면, 스냅샷 블록 확인부(117)는 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인한다.
관련해서, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되는 노드 장치를 의미한다. 이로 인해, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되게 되면, 상기 응용 애플리케이션에 대한 업데이트 서비스를 받기 위해서, 상기 블록체인 네트워크에 참여해야 할 것이고, 이로 인해 신규 노드 장치(104)는 상기 복수의 노드 장치들 중 하나인 전자 단말 장치(110)에 대해서 상기 신규 지정 요청 신호를 전송할 수 있다.
추가 블록 확인부(118)는 상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인한다.
예컨대, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 제1 스냅샷 블록이 연결된 이후 현재시점까지 총 5회의 업데이트 이벤트가 발생함에 따라 총 5개의 추가 블록들이 체인으로 연결되어 있다면, 추가 블록 확인부(118)는 상기 5개의 추가 블록들을 상기 적어도 하나의 추가 블록으로 확인할 수 있다.
신규 블록 전송부(119)는 상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 신규 노드 장치(104)로 전송한다.
이때, 본 발명의 일실시예에 따르면, 신규 노드 장치(104)는 전자 단말 장치(110)로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 신규 노드 장치(104)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.
즉, 상기 제1 스냅샷 블록에는 상기 제1 스냅샷 블록이 생성되기 이전의 업데이트 데이터가 모두 포함되어 있고, 상기 적어도 하나의 추가 블록에는 상기 제1 스냅샷 블록이 생성된 이후의 최근 업데이트 데이터까지 모두 포함되어 있기 때문에 신규 노드 장치(104)는 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 수신하게 되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 응용 애플리케이션에 대한 업데이트 처리를 완료할 수 있다.
그러고 나서, 신규 노드 장치(104)는 상기 복수의 노드 장치들과 블록체인 네트워크를 구성하기 위해서 새로운 블록체인 데이터를 생성해야 하는데, 이를 위해, 신규 노드 장치(104)는 상기 제1 스냅샷 블록을 제네시스 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성한 후 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.
보통, 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 기존의 블록체인 데이터 전부를 신규 노드 장치(104)로 전달하는 방식을 고려할 수 있는데, 이러한 방식은 기존의 블록체인 데이터의 크기가 작으면 큰 문제가 없지만, 기존의 블록체인 데이터의 크기가 크면 데이터 전달의 효율성이 매우 떨어지는 문제가 발생할 수 있다.
따라서, 본 발명의 전자 단말 장치(110)는 소정 주기 간격으로 블록체인 데이터에 스냅샷 블록을 만들어서 연결해 둔 후 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 가장 최근 만들어진 제1 스냅샷 블록과 상기 제1 스냅샷 블록 이후에 만들어진 추가 블록들만을 신규 노드 장치(104)로 전달함으로써, 블록체인 네트워크에 신규로 참여하는 신규 노드 장치(104)에 대한 데이터 전달의 효율성을 크게 높일 수 있다.
이때, 본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 신규 노드 장치(104)로부터 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되었을 때, 신규 노드 장치(104)가 소정의 인증 조건에 따라 인증된 노드 장치일 경우에만 블록 데이터를 전달함으로써, 신규 노드 장치(104)가 블록체인 네트워크에 참여할 수 있도록 하기 위해서 소정의 인증 구성을 더 포함할 수 있다.
이와 관련해서, 스냅샷 블록 확인부(117)는 OTP 생성함수 저장부(120), 인증 이벤트 발생부(121), 인증 요청부(122), 인증 수행부(123) 및 확인 처리부(124)를 포함할 수 있다.
OTP 생성함수 저장부(120)에는 신규 노드 장치(104)와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있다.
이러한 OTP 생성함수는 상기 응용 애플리케이션의 설치 패키지 파일 내에 포함됨으로써, 상기 응용 애플리케이션이 신규 노드 장치(104)에 최초로 설치될 때 상기 응용 애플리케이션의 설치와 함께 신규 노드 장치(104)에 저장될 수 있다.
인증 이벤트 발생부(121)는 신규 노드 장치(104)로부터 상기 신규 지정 요청 신호가 수신되면, 신규 노드 장치(104)의 인증을 위한 인증 이벤트를 발생시킨다.
인증 요청부(122)는 상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 신규 노드 장치(104)로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청한다.
이때, 신규 노드 장치(104)는 상기 랜덤 행렬과 상기 피드백 행렬의 전송 요청이 수신되면, 신규 노드 장치(104)에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱(Kronecker product)을 연산하여 제1 피드백 행렬을 산출한 후 상기 제1 피드백 행렬을 전자 단말 장치(110)로 전송할 수 있다.
여기서, 크로네커 곱이란 두 행렬의 텐서곱을 구체적으로 표현한 행렬을 의미하는 것으로, 하기의 수학식 1과 같은 m x n의 행렬 M과 하기의 수학식 2와 같은 p x q의 행렬 N이 주어졌다고 하였을 때, 하기의 수학식 3과 같이 나타낼 수 있다.
이때, 인증 수행부(123)는 신규 노드 장치(104)로부터 상기 제1 피드백 행렬이 수신되면, OTP 생성함수 저장부(120)에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 신규 노드 장치(104)에 대한 인증을 수행한다.
즉, 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는 경우, 신규 노드 장치(104)가 OTP 생성함수를 정상적으로 공유하고 있는 노드 장치가 맞는 것으로 볼 수 있기 때문에, 인증 수행부(123)는 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되면 신규 노드 장치(104)에 대한 인증을 완료할 수 있다.
확인 처리부(124)는 신규 노드 장치(104)에 대한 인증이 완료되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인함으로써, 신규 노드 장치(104)로의 블록 데이터 전송 과정을 시작할 수 있다.
도 2는 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치(상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임)의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지한다.
단계(S220)에서는 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신한다.
단계(S230)에서는 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한다.
단계(S240)에서는 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송한다.
이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 제2 노드 장치는 상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 전자 단말 장치의 동작 방법은 미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성하는 단계, 상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 단계, 상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 단계, 상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 단계 및 상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 신규 노드 장치는 상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 제1 스냅샷 블록을 확인하는 단계는 상기 신규 노드 장치와 사전 공유하고 있는 OTP 생성함수가 저장되어 있는 OTP 생성함수 저장부를 유지하는 단계, 상기 신규 노드 장치로부터 상기 신규 지정 요청 신호가 수신되면, 상기 신규 노드 장치의 인증을 위한 인증 이벤트를 발생시키는 단계, 상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 상기 신규 노드 장치로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청하는 단계, 상기 신규 노드 장치가 상기 랜덤 행렬을 수신한 후 상기 신규 노드 장치에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱을 연산하여 산출된 제1 피드백 행렬을 상기 전자 단말 장치로 전송하게 되면, 상기 신규 노드 장치로부터 상기 제1 피드백 행렬을 수신한 후 상기 OTP 생성함수 저장부에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제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: OTP 생성함수 저장부
121: 인증 이벤트 발생부 122: 인증 요청부
123: 인증 수행부 124: 확인 처리부
100: 업데이트 데이터 관리 서버
101: 네트워크
102: 제1 노드 장치
103: 적어도 하나의 제2 노드 장치
104: 신규 노드 장치
111: 블록체인 데이터 저장부 112: 블록 수신부
113: 업데이트 처리부 114: 블록 전송부
115: 스냅샷 블록 생성부 116: 스냅샷 블록 저장 처리부
117: 스냅샷 블록 확인부 118: 추가 블록 확인부
119: 신규 블록 전송부 120: OTP 생성함수 저장부
121: 인증 이벤트 발생부 122: 인증 요청부
123: 인증 수행부 124: 확인 처리부
100: 업데이트 데이터 관리 서버
101: 네트워크
102: 제1 노드 장치
103: 적어도 하나의 제2 노드 장치
104: 신규 노드 장치
Claims (12)
- 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 에 있어서,
상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부;
상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 블록 수신부;
상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 업데이트 처리부; 및
상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 블록 전송부
를 포함하는 전자 단말 장치. - 제1항에 있어서,
상기 적어도 하나의 제2 노드 장치는
상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송하는 전자 단말 장치. - 제1항에 있어서,
상기 전자 단말 장치는
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성하는 스냅샷 블록 생성부;
상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 스냅샷 블록 저장 처리부;
상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 스냅샷 블록 확인부;
상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 추가 블록 확인부; 및
상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 신규 블록 전송부
를 더 포함하는 전자 단말 장치. - 제3항에 있어서,
상기 신규 노드 장치는
상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장하는 전자 단말 장치. - 제3항에 있어서,
상기 스냅샷 블록 확인부는
상기 신규 노드 장치와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있는 OTP 생성함수 저장부;
상기 신규 노드 장치로부터 상기 신규 지정 요청 신호가 수신되면, 상기 신규 노드 장치의 인증을 위한 인증 이벤트를 발생시키는 인증 이벤트 발생부;
상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 상기 신규 노드 장치로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청하는 인증 요청부;
상기 신규 노드 장치가 상기 랜덤 행렬을 수신한 후 상기 신규 노드 장치에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱(Kronecker product)을 연산하여 산출된 제1 피드백 행렬을 상기 전자 단말 장치로 전송하게 되면, 상기 신규 노드 장치로부터 상기 제1 피드백 행렬을 수신한 후 상기 OTP 생성함수 저장부에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 상기 신규 노드 장치에 대한 인증을 수행하는 인증 수행부; 및
상기 신규 노드 장치에 대한 인증이 완료되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인하는 확인 처리부
를 포함하는 전자 단말 장치. - 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 의 동작 방법에 있어서,
상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계;
상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 단계;
상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 단계; 및
상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 단계
를 포함하는 전자 단말 장치의 동작 방법. - 제6항에 있어서,
상기 적어도 하나의 제2 노드 장치는
상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송하는 전자 단말 장치의 동작 방법. - 제6항에 있어서,
상기 전자 단말 장치의 동작 방법은
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성하는 단계;
상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 단계;
상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 단계;
상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 단계; 및
상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 단계
를 더 포함하는 전자 단말 장치의 동작 방법. - 제8항에 있어서,
상기 신규 노드 장치는
상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장하는 전자 단말 장치의 동작 방법. - 제8항에 있어서,
상기 제1 스냅샷 블록을 확인하는 단계는
상기 신규 노드 장치와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있는 OTP 생성함수 저장부를 유지하는 단계;
상기 신규 노드 장치로부터 상기 신규 지정 요청 신호가 수신되면, 상기 신규 노드 장치의 인증을 위한 인증 이벤트를 발생시키는 단계;
상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 상기 신규 노드 장치로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청하는 단계;
상기 신규 노드 장치가 상기 랜덤 행렬을 수신한 후 상기 신규 노드 장치에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱(Kronecker product)을 연산하여 산출된 제1 피드백 행렬을 상기 전자 단말 장치로 전송하게 되면, 상기 신규 노드 장치로부터 상기 제1 피드백 행렬을 수신한 후 상기 OTP 생성함수 저장부에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 상기 신규 노드 장치에 대한 인증을 수행하는 단계; 및
상기 신규 노드 장치에 대한 인증이 완료되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인하는 단계
를 포함하는 전자 단말 장치의 동작 방법. - 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
- 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190165907 | 2019-12-12 | ||
KR1020190165907 | 2019-12-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210074980A true KR20210074980A (ko) | 2021-06-22 |
KR102365945B1 KR102365945B1 (ko) | 2022-02-22 |
Family
ID=76600683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200025952A KR102365945B1 (ko) | 2019-12-12 | 2020-03-02 | 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102365945B1 (ko) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270874A (zh) * | 2018-02-05 | 2018-07-10 | 武汉斗鱼网络科技有限公司 | 应用程序的更新方法及装置 |
KR20190012969A (ko) | 2017-07-31 | 2019-02-11 | 서강대학교산학협력단 | 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법 |
CN109375944A (zh) * | 2018-08-28 | 2019-02-22 | 苏州浪潮智能软件有限公司 | 一种基于区块链数据结构的终端软件分发验证方法 |
CN109408486A (zh) * | 2018-10-29 | 2019-03-01 | 珠海格力电器股份有限公司 | 文件发布方法和系统、发布服务器和文件生成装置 |
CN109753767A (zh) * | 2019-01-04 | 2019-05-14 | 北京看见未来网络科技有限公司 | 基于区块链的软件分发及更新方法和装置、服务器、客户端 |
KR101979586B1 (ko) | 2018-12-19 | 2019-05-17 | 주식회사 마크애니 | 블록 체인 기반으로 관리되는 사물 인터넷 디바이스 및 그 시스템 및 방법 |
CN109814905A (zh) * | 2019-01-17 | 2019-05-28 | 上海边界智能科技有限公司 | 一种基于区块链的软件升级方法及装置 |
WO2019177298A1 (en) * | 2018-03-15 | 2019-09-19 | Samsung Electronics Co., Ltd. | Method and apparatus for managing user authentication in a blockchain network |
CN110543485A (zh) * | 2019-08-21 | 2019-12-06 | 杭州趣链科技有限公司 | 一种基于快照的区块链预约归档方法 |
KR20190136245A (ko) * | 2018-05-30 | 2019-12-10 | 한국과학기술연구원 | 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템 |
-
2020
- 2020-03-02 KR KR1020200025952A patent/KR102365945B1/ko active IP Right Grant
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190012969A (ko) | 2017-07-31 | 2019-02-11 | 서강대학교산학협력단 | 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법 |
CN108270874A (zh) * | 2018-02-05 | 2018-07-10 | 武汉斗鱼网络科技有限公司 | 应用程序的更新方法及装置 |
WO2019177298A1 (en) * | 2018-03-15 | 2019-09-19 | Samsung Electronics Co., Ltd. | Method and apparatus for managing user authentication in a blockchain network |
KR20190136245A (ko) * | 2018-05-30 | 2019-12-10 | 한국과학기술연구원 | 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템 |
CN109375944A (zh) * | 2018-08-28 | 2019-02-22 | 苏州浪潮智能软件有限公司 | 一种基于区块链数据结构的终端软件分发验证方法 |
CN109408486A (zh) * | 2018-10-29 | 2019-03-01 | 珠海格力电器股份有限公司 | 文件发布方法和系统、发布服务器和文件生成装置 |
KR101979586B1 (ko) | 2018-12-19 | 2019-05-17 | 주식회사 마크애니 | 블록 체인 기반으로 관리되는 사물 인터넷 디바이스 및 그 시스템 및 방법 |
CN109753767A (zh) * | 2019-01-04 | 2019-05-14 | 北京看见未来网络科技有限公司 | 基于区块链的软件分发及更新方法和装置、服务器、客户端 |
CN109814905A (zh) * | 2019-01-17 | 2019-05-28 | 上海边界智能科技有限公司 | 一种基于区块链的软件升级方法及装置 |
CN110543485A (zh) * | 2019-08-21 | 2019-12-06 | 杭州趣链科技有限公司 | 一种基于快照的区块链预约归档方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102365945B1 (ko) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018076760A1 (zh) | 基于区块链的交易事务处理方法、系统、电子装置及存储介质 | |
CN109951547B (zh) | 事务请求并行处理方法、装置、设备和介质 | |
WO2020119512A1 (zh) | 任务处理方法、系统、设备及存储介质 | |
KR20210049721A (ko) | 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 저장매체 및 프로그램 | |
KR20210003234A (ko) | 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것 | |
CN109656873B (zh) | 基于区块链的数据归档方法、装置及终端设备 | |
JP2020532170A (ja) | ブロックチェーンにおける擬似乱数生成 | |
US11367055B2 (en) | Decentralized pooled mining for enabling proof-of-work on blockchains | |
CN111163182A (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
TWI706284B (zh) | 用於智慧合約的軟體介面 | |
TW202016789A (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
KR102316763B1 (ko) | 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 응용 애플리케이션의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법 | |
JP2018093434A (ja) | トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置 | |
CN107886006B (zh) | 数据操作方法、装置及电子设备 | |
KR102266056B1 (ko) | 블록체인을 기반으로 문서 정보의 관리를 가능하게 하는 문서 정보 관리 장치 및 그 동작 방법 | |
JP6595625B2 (ja) | 自動再チャージシステム、方法、およびサーバ | |
CN110187831B (zh) | 区块链联盟链的区块数据存储系统及方法 | |
KR20180005542A (ko) | 데이터 무결성 검증을 위한 장치 및 방법 | |
CN111399991B (zh) | 虚拟资源加锁方法和装置、存储介质及电子装置 | |
CN112714158A (zh) | 事务处理方法、中继网络、跨链网关、系统、介质和设备 | |
CN112650812A (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
KR20200126061A (ko) | 블록체인 네트워크에서의 트랜잭션의 삭제를 가능하게 하는 노드 장치 및 그 동작 방법 | |
WO2020213763A1 (ko) | 블록체인과는 다른 형식의 저장소에 저장되는 블록체인 데이터를 검증하는 방법 및 시스템 | |
JP2022523217A (ja) | 投票集計を伴うトポロジードリブンビザンチンフォールトトレラント合意プロトコル | |
KR20180014537A (ko) | 분산 스토리지 환경에서 데이터 무결성 검증을 위한 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |