KR102318022B1 - Electronic terminal device that enables update processing for applications and forgery detection of update data based on blockchain and operating method thereof - Google Patents

Electronic terminal device that enables update processing for applications and forgery detection of update data based on blockchain and operating method thereof Download PDF

Info

Publication number
KR102318022B1
KR102318022B1 KR1020200025955A KR20200025955A KR102318022B1 KR 102318022 B1 KR102318022 B1 KR 102318022B1 KR 1020200025955 A KR1020200025955 A KR 1020200025955A KR 20200025955 A KR20200025955 A KR 20200025955A KR 102318022 B1 KR102318022 B1 KR 102318022B1
Authority
KR
South Korea
Prior art keywords
block
snapshot
node device
data
new
Prior art date
Application number
KR1020200025955A
Other languages
Korean (ko)
Other versions
KR20210074981A (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 (주)포뎁스
Publication of KR20210074981A publication Critical patent/KR20210074981A/en
Application granted granted Critical
Publication of KR102318022B1 publication Critical patent/KR102318022B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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

Landscapes

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

Abstract

본 발명은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포하고, 상기 블록체인 네트워크에 신규로 참여하는 신규 노드 장치로 업데이트 데이터를 배포하는 경우, 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터와 그에 대한 해시 값이 삽입된 블록을 상기 신규 노드 장치로 전파함으로써, 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 업데이트 데이터의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법에 대한 것이다.The present invention receives update data propagated from an update data management server through a block chain network, redistributes it to other node devices through the block chain network, and sends the update data to a new node device newly participating in the block chain network. In the case of distribution, update processing and update for application applications based on the block chain by propagating the snapshot data including all past update data and the block in which the hash value thereof is inserted to the new node device An electronic terminal device capable of detecting forgery and falsification of data and an operating method thereof.

Description

블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 업데이트 데이터의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법{ELECTRONIC TERMINAL DEVICE THAT ENABLES UPDATE PROCESSING FOR APPLICATIONS AND FORGERY DETECTION OF UPDATE DATA BASED ON BLOCKCHAIN AND OPERATING METHOD THEREOF}ELECTRONIC TERMINAL DEVICE THAT ENABLES UPDATE PROCESSING FOR APPLICATIONS AND FORGERY DETECTION OF UPDATE DATA BASED ON BLOCKCHAIN AND OPERATING METHOD THEREOF}

본 발명은 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 업데이트 데이터의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법에 대한 것이다.The present invention relates to an electronic terminal device that enables update processing for application applications and forgery detection of update data based on a block chain and an operating method thereof.

최근, 출시되고 있는 백신 프로그램이나, 오피스 프로그램, 게임 등과 같은 응용 애플리케이션들은 제품 출시 후 애플리케이션 상에 새로운 바이러스 정보를 반영하거나 다양한 오류를 개선하기 위해 업데이트 기능을 제공하는 경우가 많다.Recently, application applications such as vaccine programs, office programs, and games that are being released often provide an update function to reflect new virus information or to improve various errors after product release.

기존의 응용 애플리케이션에 대한 업데이트는 하나의 업데이트 서버가 응용 애플리케이션이 설치된 다수의 사용자 단말들에 대해 업데이트 데이터를 제공하는 형태로 이루어지고 있었기 때문에 업데이트에 따른 서버 부하가 가중되는 문제가 있었다.Since the update of the existing application application is made in the form of one update server providing update data to a plurality of user terminals in which the application application is installed, there is a problem in that the server load according to the update is increased.

이러한 업데이트에 따른 서버 부하를 분산시키기 위한 방안으로 다수의 사용자 단말들에 대해 동시에 업데이트 데이터를 전달하는 것이 아니라, 시간을 나누어 순차적으로 업데이트 데이터를 전달하는 방식이 사용되곤 했었다.As a method for distributing the server load according to such an update, a method of sequentially transmitting the update data by dividing the time, rather than transmitting the update data to a plurality of user terminals at the same time, has been used.

하지만, 이러한 업데이트 방식은 특정 사용자들에 대해서만 먼저 업데이트 데이터가 전달되기 때문에 사용자 간의 형평성 문제가 발생할 수 있다.However, in this update method, since update data is first delivered only to specific users, a problem of equality among users may occur.

최근에는 소정의 데이터를 체인화된 블록으로 구성하여 중앙 서버가 아닌 노드들에 분산 저장함으로써, 해당 데이터에 대한 무결성을 보장할 수 있는 블록체인 기술이 널리 활용되고 있다.Recently, block chain technology that can ensure the integrity of data by composing predetermined data into chained blocks and storing them distributedly in nodes rather than in a central server has been widely used.

블록체인 기술은 트랜잭션이라고 하는 소정의 데이터가 생성되면, 블록체인 네트워크에 참여하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치가 여러 블록들이 체인으로 연결되어 있는 블록체인 데이터에 포함된 이전 블록을 기초로 상기 트랜잭션이 포함된 새로운 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 블록체인 네트워크를 통해 다른 노드 장치들로 배포함으로써, 소정의 데이터가 복수의 노드 장치들에 분산 저장되도록 하는 기술을 의미한다.In blockchain technology, when predetermined data called a transaction is generated, any one node device among a plurality of node devices participating in the blockchain network uses the previous block included in the blockchain data in which several blocks are connected in a chain. By creating a new block containing the transaction based on a chain, linking the block to the block chain data, and distributing the block to other node devices through the block chain network, predetermined data is transferred to a plurality of nodes. It refers to a technology that allows distributed storage in devices.

이러한 블록체인 기술은 중앙 서버에서 다수의 노드들로 데이터를 전달하는 것이 아니라, 노드들 간의 P2P를 기반으로 데이터 전파가 이루어지기 때문에 여러 사용자들에게 데이터를 배포하는 시스템에서의 활용성이 뛰어난 장점이 있다.This block chain technology does not deliver data from a central server to multiple nodes, but rather propagates data based on P2P between nodes. have.

따라서, 소정의 응용 애플리케이션이 설치된 다수의 사용자 단말들로 업데이트 데이터를 전달해야 하는 시스템에 있어서, 이러한 블록체인 기술을 활용함으로써, 효율적으로 업데이트 데이터를 다수의 사용자 단말들로 배포할 수 있는 기술의 연구가 필요하다.Therefore, in a system that needs to deliver update data to a plurality of user terminals in which a predetermined application application is installed, by utilizing such a block chain technology, a study of a technology capable of efficiently distributing update data to a plurality of user terminals is needed

본 발명에 따른 전자 단말 장치 및 그 동작 방법은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 한다.The electronic terminal device and its operating method according to the present invention receive update data propagated from an update data management server through a block chain network, and distribute it to other node devices through the block chain network, thereby requiring distribution of update data. In the system, it is possible to reduce the server burden according to the distribution of the update data and at the same time to enable the rapid distribution of the update data to a large number of users.

또한, 본 발명에 따른 전자 단말 장치 및 그 동작 방법은 상기 블록체인 네트워크에 신규로 참여하는 신규 노드 장치로 업데이트 데이터를 배포하는 경우, 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터와 그에 대한 해시 값이 삽입된 블록을 상기 신규 노드 장치로 전파함으로써, 상기 신규 노드 장치가 상기 스냅샷 데이터를 기초로 과거의 모든 업데이트 내역을 한 번에 응용 애플리케이션에 반영할 수 있도록 함과 동시에, 상기 신규 노드 장치가 상기 해시 값을 기초로 상기 스냅샷 데이터에 위조나 변조가 발생하였는지 여부를 스스로 판정할 수 있도록 지원하고자 한다.In addition, the electronic terminal device and the method of operation thereof according to the present invention, when the update data is distributed to a new node device newly participating in the block chain network, snapshot data including all past update data and the By propagating the block in which the hash value is inserted to the new node device, the new node device can reflect all past update details based on the snapshot data to the application at the same time, and at the same time, the new node device An object of the present invention is to support a node device to determine by itself whether forgery or falsification has occurred in the snapshot data based on the hash value.

본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 는 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부, 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 블록 수신부, 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 업데이트 처리부, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 블록 전송부, 미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성하고, 상기 스냅샷 데이터를 미리 설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 스냅샷 데이터와 상기 해시 값이 포함된 스냅샷 블록을 생성하는 스냅샷 블록 생성부 및 상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 스냅샷 블록 저장 처리부를 포함한다.An electronic terminal device receiving update data for an application application transmitted from the update data management server according to an embodiment of the present invention through a block chain network - The electronic terminal device includes a plurality of node devices constituting the block chain network is one of - is a block chain data storage unit that stores block chain data in which blocks including a transaction including past update data for the application installed in the electronic terminal device are connected in a chain, the update data management As new update data for the application is generated in the server, after the first block including the first transaction including the new update data is generated, the first block is propagated through the blockchain network Due to the start, when a first node device, which is one of the plurality of node devices, transmits the first block to the electronic terminal device in response to the propagation of the first block through the block chain network, the first block is transmitted to the electronic terminal device. A block receiving unit for receiving the first block from a first node device, when the first block is received, is installed in the electronic terminal device based on the new update data included in the first transaction inside the first block After completing the storage of the first block by linking the first block to the block chain data stored in the update processing unit and the block chain data storage unit for performing update processing for the application application in the A block transmission unit that transmits the first block to at least one second node device that is previously designated as a node device that is a target of block propagation among the plurality of node devices, and the block chain data storage unit stores the first block at a preset period Create snapshot data including all past update data for the application by referring to the block chain data that has been created, and input the snapshot data to a preset hash function. After generating a hash value by applying to , a snapshot block generation unit that generates a snapshot block including the snapshot data and the hash value, and when the snapshot block is generated, stored in the block chain data storage unit and a snapshot block storage processing unit that completes the storage of the snapshot block by chaining the snapshot block to the block chain data.

또한, 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 의 동작 방법은 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계, 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 단계, 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 단계, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 단계, 미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷 데이터를 생성하고, 상기 스냅샷 데이터를 미리 설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 스냅샷 데이터와 상기 해시 값이 포함된 스냅샷 블록을 생성하는 단계 및 상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 단계를 포함한다.In addition, an electronic terminal device that receives update data for an application application transmitted from the update data management server according to an embodiment of the present invention through a block chain network - The electronic terminal device includes a plurality of nodes constituting the block chain network It is one of the devices - the operation method is a block chain data storage unit that stores block chain data in which blocks including transactions including past update data for the application installed in the electronic terminal device are chained therein maintaining, as new update data for the application application is generated in the update data management server, a first block including a first transaction including the new update data is generated, and then the first block is Due to the start of propagation through the block chain network, in response to the propagation of the first block through the block chain network, a first node device, which is one of the plurality of node devices, transmits the first block to the electronic terminal. When transmitting to a device, receiving the first block from the first node device, when the first block is received, based on the new update data included in the first transaction in the first block performing update processing on the application application installed in the electronic terminal device; by linking the first block to the block chain data stored in the block chain data storage unit with a chain, the first block transmitting the first block to at least one second node device that is pre-designated to be a node device that is a target of block propagation among the plurality of node devices after completing storage for the block chain data; Creates snapshot data including all past update data for the application by referring to the block chain data stored in the storage unit, and applies the snapshot data as input to a preset hash function generating a hash value and then generating a snapshot block including the snapshot data and the hash value; and when the snapshot block is generated, the block chain data stored in the block chain data storage unit is Completing storage of the snapshot block by chaining the snapshot block.

본 발명에 따른 전자 단말 장치 및 그 동작 방법은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.The electronic terminal device and its operating method according to the present invention receive update data propagated from an update data management server through a block chain network, and distribute it to other node devices through the block chain network, thereby requiring distribution of update data. In the system, it is possible to reduce the server load according to the distribution of the update data and at the same time support the rapid distribution of the update data to a large number of users.

또한, 본 발명에 따른 전자 단말 장치 및 그 동작 방법은 상기 블록체인 네트워크에 신규로 참여하는 신규 노드 장치로 업데이트 데이터를 배포하는 경우, 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터와 그에 대한 해시 값이 삽입된 블록을 상기 신규 노드 장치로 전파함으로써, 상기 신규 노드 장치가 상기 스냅샷 데이터를 기초로 과거의 모든 업데이트 내역을 한 번에 응용 애플리케이션에 반영할 수 있도록 함과 동시에, 상기 신규 노드 장치가 상기 해시 값을 기초로 상기 스냅샷 데이터에 위조나 변조가 발생하였는지 여부를 스스로 판정할 수 있도록 지원할 수 있다.In addition, the electronic terminal device and the method of operation thereof according to the present invention, when the update data is distributed to a new node device newly participating in the block chain network, snapshot data including all past update data and the By propagating the block in which the hash value is inserted to the new node device, the new node device can reflect all past update details based on the snapshot data to the application at the same time, and at the same time, the new node device It is possible to support the node device to determine by itself whether forgery or tampering has occurred in the snapshot data based on the hash value.

도 1은 본 발명의 일실시예에 따른 전자 단말 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법을 도시한 순서도이다.
1 is a diagram showing the structure of an electronic terminal device according to an embodiment of the present invention.
2 is a flowchart illustrating a method of operating an electronic terminal device according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.In this document, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, an ASIC (Application Specific Integrated Circuit), etc. may be implemented with various well-known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks in the accompanying block diagram or steps in the flowchart are computer program instructions that are loaded in a processor or memory of equipment capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer, and perform specified functions. can be interpreted as meaning Since these computer program instructions may be stored in a memory provided in a computer device or in a memory readable by a computer, the functions described in the blocks of the block diagrams or the steps of the flowcharts are produced as articles of manufacture containing instruction means for performing the same. could be In addition, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that, in some alternative embodiments, it is also possible for the functions recited in blocks or steps to be executed out of the prescribed order. For example, two blocks or steps shown one after another may be performed substantially simultaneously or in the reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 전자 단말 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of an electronic terminal device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 전자 단말 장치(110)는 블록체인 데이터 저장부(111), 블록 수신부(112), 업데이트 처리부(113), 블록 전송부(114), 스냅샷 블록 생성부(115) 및 스냅샷 블록 저장 처리부(116)를 포함한다.Referring to FIG. 1 , the electronic terminal device 110 according to the present invention includes a block chain data storage unit 111 , a block reception unit 112 , an update processing unit 113 , a block transmission unit 114 , and a snapshot block generation unit. 115 and a snapshot block storage processing unit 116 .

우선, 본 발명에서는 복수의 노드 장치들이 블록체인 네트워크를 구성하고 있고, 이때, 전자 단말 장치(110)는 상기 복수의 노드 장치들 중 하나인 것으로 가정한다. 그리고, 전자 단말 장치(110)를 포함해서 상기 복수의 노드 장치들에는 업데이트의 대상이 되는 소정의 응용 애플리케이션이 설치되어 있다고 가정한다. 여기서, 응용 애플리케이션이란 백신 프로그램, 오피스 프로그램, 유틸리티 프로그램, 게임 등과 같이 마이크로 프로세서 기반의 장치에서 설치되어 구동될 수 있는 소정의 애플리케이션을 의미한다.First, in the present invention, it is assumed that a plurality of node devices constitute a block chain network, and in this case, the electronic terminal device 110 is one of the plurality of node devices. In addition, it is assumed that a predetermined application to be updated is installed in the plurality of node devices including the electronic terminal device 110 . Here, the application application means a predetermined application that can be installed and run in a microprocessor-based device, such as a vaccine program, an office program, a utility program, a game, and the like.

또한, 본 발명에서 업데이트 데이터 관리 서버(100)는 상기 블록체인 네트워크를 통해 상기 응용 애플리케이션에 대한 업데이트 데이터를 상기 복수의 노드 장치들로 전파하는 서버를 의미한다.In addition, in the present invention, the update data management server 100 refers to a server that propagates update data for the application application to the plurality of node devices through the block chain network.

그리고, 상기 복수의 노드 장치들 각각의 메모리에는 상기 응용 애플리케이션에 대한 업데이트 데이터가 포함된 트랜잭션을 기반으로 생성된 블록들이 체인으로 연결되어 있는 블록체인 데이터가 저장되어 있다. 상기 블록체인 데이터는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결되어 있는 데이터이며, 상기 복수의 노드 장치들 각각의 메모리 상에 저장되어 있음으로 인해 상기 복수의 노드 장치들이 블록체인 네트워크를 구성할 수 있도록 한다.And, in the memory of each of the plurality of node devices, block chain data in which blocks generated based on a transaction including update data for the application application are chained are stored. The block chain data is data in which blocks including transactions including past update data for the application application are connected in a chain, and is stored in the memory of each of the plurality of node devices. It allows multiple node devices to form a blockchain network.

이와 관련해서, 전자 단말 장치(110)에서는 블록체인 데이터 저장부(111)에 전자 단말 장치(110)에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있을 수 있다.In this regard, in the electronic terminal device 110, the blocks including the transaction including the past update data for the application installed in the electronic terminal device 110 in the block chain data storage unit 111 inside are chained. It may be storing connected blockchain data.

이러한 상황 하에서, 업데이트 데이터 관리 서버(100)에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되게 되면, 업데이트 데이터 관리 서버(100)는 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록을 생성한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들로 전파하기 시작할 수 있다.Under this situation, when new update data for the application is generated in the update data management server 100, the update data management server 100 includes a first transaction containing the new update data therein. After generating a block, it is possible to start propagating the first block to the plurality of node devices through the blockchain network.

이때, 상기 복수의 노드 장치들은 상기 제1 블록을 블록체인 네트워크를 통해 다른 노드 장치들로 전파할 수 있다.In this case, the plurality of node devices may propagate the first block to other node devices through the blockchain network.

이렇게, 상기 제1 블록이 업데이트 데이터 관리 서버(100)로부터 상기 블록체인 네트워크를 통해 상기 복수의 노드 장치들에 전파됨에 따라, 마침내 상기 복수의 노드 장치들 중 전자 단말 장치(110)로 블록을 전달하는 노드인 것으로 사전 설정된 제1 노드 장치(102)에 상기 제1 블록이 네트워크(101)를 통해 수신된 후 제1 노드 장치(102)가 상기 제1 블록을 전자 단말 장치(110)로 전송하게 되면, 전자 단말 장치(110)의 블록 수신부(112)는 제1 노드 장치(102)로부터 상기 제1 블록을 수신한다.In this way, as the first block is propagated from the update data management server 100 to the plurality of node devices through the block chain network, the block is finally transferred to the electronic terminal device 110 among the plurality of node devices. to transmit the first block to the electronic terminal device 110 after the first block is received through the network 101 to the first node device 102 preset to be a node Then, the block receiving unit 112 of the electronic terminal device 110 receives the first block from the first node device (102).

그리고, 업데이트 처리부(113)는 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 전자 단말 장치(110)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한다.Then, when the first block is received, the update processing unit 113 receives the application application installed in the electronic terminal device 110 based on the new update data included in the first transaction inside the first block. update processing for

그 이후, 블록 전송부(114)는 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치(103)로 상기 제1 블록을 전송한다.After that, the block transfer unit 114 connects the first block to the block chain data stored in the block chain data storage unit 111 with a chain, so that after the storage of the first block is completed, the plurality of The first block is transmitted to at least one second node device 103 that is pre-designated to be a node device that is a target of block propagation among node devices of .

이러한 방식으로, 전자 단말 장치(110)는 블록체인 네트워크를 통해서 수신된 상기 제1 블록을 기반으로 상기 응용 애플리케이션에 대한 업데이트 처리를 완료하고, 상기 제1 블록을 블록체인 데이터에 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 제1 블록을 상기 블록체인 네트워크의 다음 노드 장치들(103)로 전파할 수 있다.In this way, the electronic terminal device 110 completes the update processing for the application application based on the first block received through the block chain network, and connects the first block to the block chain data by connecting the first block to the block chain data. After completing the storage of one block, the first block may be propagated to the next node devices 103 of the blockchain network.

이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 제2 노드 장치(103)는 전자 단말 장치(110)로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치(103) 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치(103)의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치(103) 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송할 수 있다.At this time, according to an embodiment of the present invention, when the first block is received from the electronic terminal device 110 , the at least one second node device 103 is included in the first transaction inside the first block. Update processing for the application application installed in each of the at least one second node device 103 is performed based on the newly updated data, and the memory of the at least one second node device 103 is executed. By chaining the first block to the block chain data stored in The first block may be transmitted to at least one other node device that is previously designated as a node device that is a target of block propagation.

즉, 적어도 하나의 제2 노드 장치(103)는 전자 단말 장치(110)로부터 상기 제1 블록이 수신되면, 상기 제1 블록을 기초로 상기 응용 애플리케이션에 대한 업데이트를 처리하고, 상기 제1 블록을 블록체인 데이터에 연결한 후 다음 노드 장치들로 전파할 수 있다.That is, when the first block is received from the electronic terminal device 110 , the at least one second node device 103 processes the update of the application application based on the first block, and transmits the first block. After connecting to the blockchain data, it can propagate to the next node devices.

결국, 본 발명에 따른 전자 단말 장치(110)는 업데이트 데이터 관리 서버(100)로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.After all, the electronic terminal device 110 according to the present invention receives the update data propagated from the update data management server 100 through the block chain network, and distributes it back to other node devices through the block chain network, so that the update data In a system that requires the distribution of update data, it is possible to reduce the server burden according to the distribution of update data and at the same time support the rapid distribution of update data to a large number of users.

스냅샷 블록 생성부(115)는 미리 설정된 주기마다 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성하고, 상기 스냅샷 데이터를 미리 설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 스냅샷 데이터와 상기 해시 값이 포함된 스냅샷 블록을 생성한다.The snapshot block generation unit 115 refers to the block chain data stored in the block chain data storage unit 111 every preset period and includes all past updated data for the application application (snapshot). Generates data, applies the snapshot data to a preset hash function as an input to generate a hash value, and then generates a snapshot block including the snapshot data and the hash value.

관련해서, 상기 블록체인 데이터는 신규 업데이트 데이터가 생성될 때마다 그에 대응되는 블록들이 생성되어 연결된 데이터이기 때문에, 스냅샷 블록 생성부(115)는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷 데이터를 생성할 수 있다. 그러고 나서, 스냅샷 블록 생성부(115)는 상기 스냅샷 데이터를 미리 설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 스냅샷 데이터와 상기 해시 값이 포함된 스냅샷 블록를 생성할 수 있다.In relation to this, since the block chain data is data linked to blocks corresponding to each time new update data is generated, the snapshot block generation unit 115 refers to the block chain data and provides information about the past of the application. You can create snapshot data that includes all update data of . Then, the snapshot block generation unit 115 applies the snapshot data to a preset hash function as an input to generate a hash value, and then generates a snapshot block including the snapshot data and the hash value. .

스냅샷 블록 저장 처리부(116)는 상기 스냅샷 블록이 생성되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료한다.When the snapshot block is generated, the snapshot block storage processing unit 116 connects the snapshot block to the block chain data stored in the block chain data storage unit 111 in a chain, thereby providing information on the snapshot block. Save is complete.

즉, 스냅샷 블록 생성부(115)와 스냅샷 블록 저장 처리부(116)는 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 이를 상기 블록체인 데이터에 체인으로 연결해서 저장해 둘 수 있다.That is, the snapshot block generation unit 115 and the snapshot block storage processing unit 116 create a snapshot block including all update data in the past at a predetermined period, connect it to the block chain data in a chain, and store it. can be put

이러한 스냅샷 블록의 생성 및 저장 이벤트는 전자 단말 장치(110)에서만 발생하는 것이 아니라, 전자 단말 장치(110)와 블록체인 네트워크를 구성하는 상기 복수의 노드 장치들 전부에서 발생된다. 즉, 상기 블록체인 네트워크를 구성하고 있는 상기 복수의 노드 장치들은 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 각 노드 장치에 저장되어 있는 블록체인 데이터에 체인으로 연결하여 저장해 둘 수 있다.These snapshot block creation and storage events do not occur only in the electronic terminal device 110, but occur in all of the plurality of node devices constituting the electronic terminal device 110 and the blockchain network. That is, the plurality of node devices constituting the block chain network generate a snapshot block including all updated data in the past at a predetermined period and connect to the block chain data stored in each node device in a chain. can be saved

이렇게, 특정 주기에서 블록체인 데이터에 스냅샷 블록이 연결된 이후, 업데이트 데이터 관리 서버(100)에서 신규 업데이트 데이터가 또 생성되면, 상기 신규 업데이트 데이터에 대한 신규 블록이 상기 블록체인 네트워크를 통해 전파됨으로써, 상기 신규 블록은 상기 복수의 노드 장치들 각각에 저장된 블록체인 데이터에서 상기 스냅샷 블록의 다음 블록에 체인으로 연결되어 저장될 수 있다. 이러한 방식으로, 상기 복수의 노드 장치들에 저장된 블록체인 데이터에는 신규 업데이트 데이터가 발생할 때마다 대응되는 블록이 연결되되, 소정 주기 간격으로 스냅샷 블록이 생성되어 추가로 연결될 수 있다.In this way, after the snapshot block is connected to the block chain data in a specific period, when new update data is generated again in the update data management server 100, the new block for the new update data is propagated through the block chain network, The new block may be stored in a chain connected to the next block of the snapshot block in the block chain data stored in each of the plurality of node devices. In this way, a corresponding block is connected to the block chain data stored in the plurality of node devices whenever new update data is generated, and a snapshot block is generated at a predetermined interval and may be additionally connected.

이때, 본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 스냅샷 블록 확인부(117), 추가 블록 확인부(118) 및 신규 블록 전송부(119)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the electronic terminal device 110 may further include a snapshot block check unit 117 , an additional block check unit 118 , and a new block transmission unit 119 .

스냅샷 블록 확인부(117)는 상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치(104)로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 전자 단말 장치(110)에 수신되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인한다.The snapshot block check unit 117 receives a new designation request signal from the new node device 104 that is not included in the plurality of node devices to the node device that is the target of block propagation to the electronic terminal device 110 . If it is, the first snapshot block generated at the most recent time among the snapshot blocks connected to the block chain data stored in the block chain data storage unit 111 in a chain is checked.

관련해서, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되는 노드 장치를 의미한다. 이로 인해, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되게 되면, 상기 응용 애플리케이션에 대한 업데이트 서비스를 받기 위해서, 상기 블록체인 네트워크에 참여해야 할 것이고, 이로 인해 신규 노드 장치(104)는 상기 복수의 노드 장치들 중 하나인 전자 단말 장치(110)에 대해서 상기 신규 지정 요청 신호를 전송할 수 있다.In this regard, the new node device 104 means a node device on which the application application is initially installed. For this reason, when the application application is first installed, the new node device 104 will have to participate in the blockchain network in order to receive an update service for the application application. The new designation request signal may be transmitted to the electronic terminal device 110 that is one of the plurality of node devices.

추가 블록 확인부(118)는 상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인한다.When the first snapshot block is confirmed, the additional block confirmation unit 118 sequentially chains the block chain data as the update data is propagated from the time when the first snapshot block is created to the current time. Check at least one additional block connected by

예컨대, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 제1 스냅샷 블록이 연결된 이후 현재시점까지 총 5회의 업데이트 이벤트가 발생함에 따라 총 5개의 추가 블록들이 체인으로 연결되어 있다면, 추가 블록 확인부(118)는 상기 5개의 추가 블록들을 상기 적어도 하나의 추가 블록으로 확인할 수 있다.For example, since the first snapshot block is connected to the block chain data stored in the block chain data storage unit 111, a total of 5 update events occur up to the present time, so a total of 5 additional blocks are connected in a chain. If there is, the additional block check unit 118 may identify the five additional blocks as the at least one additional block.

신규 블록 전송부(119)는 상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 신규 노드 장치(104)로 전송한다.The new block transmission unit 119 extracts the first snapshot block and the at least one additional block from the block chain data and transmits them to the new node device 104 .

이때, 본 발명의 일실시예에 따르면, 신규 노드 장치(104)의 메모리 상에는 전자 단말 장치(110)의 스냅샷 블록 생성부(115)가 스냅샷 블록을 생성할 때 사용한 상기 해시 함수와 동일한 해시 함수가 사전 저장되어 있을 수 있다. 이때, 신규 노드 장치(104)는 전자 단말 장치(110)로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록에 포함된 제1 스냅샷 데이터와 상기 제1 스냅샷 데이터에 대한 해시 값을 추출하고, 상기 추출된 제1 스냅샷 데이터를 신규 노드 장치(104)의 메모리 상에 저장되어 있는 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 검증용 해시 값이 상기 추출된 제1 스냅샷 데이터에 대한 해시 값과 일치하는지 여부를 확인할 수 있다.At this time, according to an embodiment of the present invention, in the memory of the new node device 104 , the hash function is the same as the hash function used by the snapshot block generator 115 of the electronic terminal device 110 to generate the snapshot block. Functions may be pre-stored. At this time, when the first snapshot block and the at least one additional block are received from the electronic terminal device 110 , the new node device 104 receives the first snapshot data included in the first snapshot block and the second block. 1 After extracting a hash value for the snapshot data, and applying the extracted first snapshot data as an input to the hash function stored in the memory of the new node device 104 to generate a hash value for verification It may be checked whether the hash value for verification matches the hash value of the extracted first snapshot data.

만약, 상기 검증용 해시 값과 상기 추출된 제1 스냅샷 데이터가 서로 일치하는 것으로 확인되는 경우, 상기 제1 스냅샷 블록에 포함된 상기 제1 스냅샷 데이터에 대해 위조나 변조가 발생하지 않은 것으로 볼 수 있기 때문에, 신규 노드 장치(104)는 상기 검증용 해시 값과 상기 추출된 제1 스냅샷 데이터가 서로 일치하는 것으로 확인되면, 상기 제1 스냅샷 데이터에 포함된 업데이트 데이터와 상기 적어도 하나의 추가 블록 내부의 트랜잭션에 포함된 업데이트 데이터를 기초로 신규 노드 장치(104)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행할 수 있다.If it is confirmed that the hash value for verification and the extracted first snapshot data match each other, it is determined that forgery or tampering has not occurred with respect to the first snapshot data included in the first snapshot block. As can be seen, the new node device 104 determines that the hash value for verification and the extracted first snapshot data match each other, the update data included in the first snapshot data and the at least one Based on the update data included in the transaction in the additional block, the update process for the application installed in the new node device 104 may be performed.

그러고 나서, 신규 노드 장치(104)는 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.Then, the new node device 104 constructs the first snapshot block as a genesis block and sequentially connects the at least one additional block to the genesis block, thereby generating new block chain data and creating a new node. may be stored on the memory of device 104 .

즉, 상기 제1 스냅샷 블록에는 상기 제1 스냅샷 블록이 생성되기 이전의 업데이트 데이터가 모두 포함되어 있고, 상기 적어도 하나의 추가 블록에는 상기 제1 스냅샷 블록이 생성된 이후의 최근 업데이트 데이터까지 모두 포함되어 있기 때문에 신규 노드 장치(104)는 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 수신하게 되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 응용 애플리케이션에 대한 업데이트 처리를 완료할 수 있다.That is, the first snapshot block includes all updated data before the first snapshot block is created, and the at least one additional block includes up to the latest updated data after the first snapshot block is created. Since they are all included, when the new node device 104 receives the first snapshot block and the at least one additional block, based on the update data included in the first snapshot block and the at least one additional block to complete the update processing for the application application.

그러고 나서, 신규 노드 장치(104)는 상기 복수의 노드 장치들과 블록체인 네트워크를 구성하기 위해서 새로운 블록체인 데이터를 생성해야 하는데, 이를 위해, 신규 노드 장치(104)는 상기 제1 스냅샷 블록을 제네시스 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성한 후 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.Then, the new node device 104 needs to generate new blockchain data to form a blockchain network with the plurality of node devices. To this end, the new node device 104 creates the first snapshot block. By sequentially connecting the at least one additional block to the genesis block after being configured as a genesis block, new block chain data can be generated and stored in the memory of the new node device 104 .

보통, 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 기존의 블록체인 데이터 전부를 신규 노드 장치(104)로 전달하는 방식을 고려할 수 있는데, 이러한 방식은 기존의 블록체인 데이터의 크기가 작으면 큰 문제가 없지만, 기존의 블록체인 데이터의 크기가 크면, 데이터 전달의 효율성이 매우 떨어지는 문제가 발생할 수 있다.Usually, when the new node device 104 newly participates in the blockchain network, a method of transferring all of the existing blockchain data to the new node device 104 may be considered. If is small, there is no big problem, but if the size of the existing block chain data is large, the efficiency of data transmission may be very poor.

따라서, 본 발명의 전자 단말 장치(110)는 소정 주기 간격으로 블록체인 데이터에 스냅샷 블록을 만들어서 연결해 둔 후 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 가장 최근 만들어진 제1 스냅샷 블록과 상기 제1 스냅샷 블록 이후에 만들어진 추가 블록들만을 신규 노드 장치(104)로 전달함으로써, 블록체인 네트워크에 신규로 참여하는 신규 노드 장치(104)에 대한 데이터 전달의 효율성을 크게 높일 수 있다.Therefore, the electronic terminal device 110 of the present invention creates and connects a snapshot block to the block chain data at a predetermined interval. When the new node device 104 newly participates in the block chain network, the most recently created first snapshot By transferring only the shot block and the additional blocks created after the first snapshot block to the new node device 104, the efficiency of data transfer to the new node device 104 newly participating in the blockchain network can be greatly improved. have.

이때, 본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 신규 노드 장치(104)로부터 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되었을 때, 신규 노드 장치(104)가 소정의 인증 조건에 따라 인증된 노드 장치일 경우에만 블록 데이터를 전달함으로써, 신규 노드 장치(104)가 블록체인 네트워크에 참여할 수 있도록 하기 위해서 소정의 인증 구성을 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the electronic terminal device 110 receives a new designation request signal from the new node device 104 to the node device that is the target of block propagation, the new node device 104 It may further include a predetermined authentication configuration in order to allow the new node device 104 to participate in the blockchain network by transmitting block data only when it is a node device authenticated according to a predetermined authentication condition.

이와 관련해서, 스냅샷 블록 확인부(117)는 OTP 생성함수 저장부(120), 인증 이벤트 발생부(121), 인증 요청부(122), 인증 수행부(123) 및 확인 처리부(124)를 포함할 수 있다.In this regard, the snapshot block confirmation unit 117 includes the OTP generation function storage unit 120 , the authentication event generation unit 121 , the authentication request unit 122 , the authentication performing unit 123 , and the verification processing unit 124 . may include

OTP 생성함수 저장부(120)에는 신규 노드 장치(104)와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있다.The OTP generation function storage unit 120 stores an OTP (One Time Password) generation function that is pre-shared with the new node device 104 .

이러한 OTP 생성함수는 상기 응용 애플리케이션의 설치 패키지 파일 내에 포함됨으로써, 상기 응용 애플리케이션이 신규 노드 장치(104)에 최초로 설치될 때 상기 응용 애플리케이션의 설치와 함께 신규 노드 장치(104)에 저장될 수 있다.This OTP generation function is included in the installation package file of the application, so that when the application is first installed on the new node device 104 , it may be stored in the new node device 104 together with the installation of the application.

인증 이벤트 발생부(121)는 신규 노드 장치(104)로부터 상기 신규 지정 요청 신호가 수신되면, 신규 노드 장치(104)의 인증을 위한 인증 이벤트를 발생시킨다.When the new designation request signal is received from the new node device 104 , the authentication event generator 121 generates an authentication event for authentication of the new node device 104 .

인증 요청부(122)는 상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 신규 노드 장치(104)로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청한다.When the authentication event occurs, the authentication request unit 122 generates a random matrix having a size of nxn (n is a natural number greater than or equal to 2) and transmits it to the new node device 104. request to be sent.

이때, 신규 노드 장치(104)는 상기 랜덤 행렬과 상기 피드백 행렬의 전송 요청이 수신되면, 신규 노드 장치(104)에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱(Kronecker product)을 연산하여 제1 피드백 행렬을 산출한 후 상기 제1 피드백 행렬을 전자 단말 장치(110)로 전송할 수 있다.At this time, when the request for transmission of the random matrix and the feedback matrix is received, the new node device 104 performs k (k is a natural number greater than or equal to 2) disposable based on the OTP generation function stored in the new node device 104. After generating an authentication number, generating a row vector having the k one-time authentication numbers as a component, calculating a Kronecker product between the row vector and the random matrix to calculate a first feedback matrix, and then the first feedback The matrix may be transmitted to the electronic terminal device 110 .

여기서, 크로네커 곱이란 두 행렬의 텐서곱을 구체적으로 표현한 행렬을 의미하는 것으로, 하기의 수학식 1과 같은 m x n의 행렬 M과 하기의 수학식 2와 같은 p x q의 행렬 N이 주어졌다고 하였을 때, 하기의 수학식 3과 같이 나타낼 수 있다.Here, the Kronecker product refers to a matrix specifically expressing the tensor product of two matrices. Assuming that an mxn matrix M as in Equation 1 below and a pxq matrix N as in Equation 2 below are given, It can be expressed as Equation 3 of

Figure 112020022031419-pat00001
Figure 112020022031419-pat00001

Figure 112020022031419-pat00002
Figure 112020022031419-pat00002

Figure 112020022031419-pat00003
Figure 112020022031419-pat00003

이때, 인증 수행부(123)는 신규 노드 장치(104)로부터 상기 제1 피드백 행렬이 수신되면, OTP 생성함수 저장부(120)에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 신규 노드 장치(104)에 대한 인증을 수행한다.At this time, when the first feedback matrix is received from the new node device 104 , the authentication performing unit 123 receives the k one-time authentication numbers based on the OTP generating function stored in the OTP generating function storage unit 120 . , and confirming whether a Kronecker product between the row vector having the k one-time authentication numbers as components and the random matrix is calculated as the first feedback matrix, thereby performing authentication for the new node device 104 .

즉, 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는 경우, 신규 노드 장치(104)가 OTP 생성함수를 정상적으로 공유하고 있는 노드 장치가 맞는 것으로 볼 수 있기 때문에, 인증 수행부(123)는 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되면 신규 노드 장치(104)에 대한 인증을 완료할 수 있다.That is, when the Kronecker product between the row vector and the random matrix is calculated as the first feedback matrix, the new node device 104 can be considered as a node device that normally shares the OTP generation function, so the authentication performing unit 123 may complete the authentication of the new node device 104 when the Kronecker product between the row vector and the random matrix is calculated as the first feedback matrix.

확인 처리부(124)는 신규 노드 장치(104)에 대한 인증이 완료되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인함으로써, 신규 노드 장치(104)로의 블록 데이터 전송 과정을 시작할 수 있다.When the authentication of the new node device 104 is completed, the confirmation processing unit 124 is the most recent among the snapshot blocks connected to the block chain data stored in the block chain data storage unit 111 in a chain. By checking the generated first snapshot block, the block data transmission process to the new node device 104 can be started.

도 2는 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치(상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임)의 동작 방법을 도시한 순서도이다.2 is an electronic terminal device that receives update data for an application application transmitted from an update data management server according to an embodiment of the present invention through a block chain network (the electronic terminal device includes a plurality of components constituting the block chain network) It is a flowchart showing an operation method of the node device).

단계(S210)에서는 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지한다.In step S210, a block chain data storage unit storing block chain data in which blocks including a transaction including past update data for the application installed in the electronic terminal device are connected in a chain is maintained.

단계(S220)에서는 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신한다.In step S220, as new update data for the application application is generated in the update data management server, a first block including a first transaction including the new update data is generated, and then the first block As the propagation starts through the block chain network, the first node device, which is one of the plurality of node devices, transmits the first block to the electronic device in response to the propagation of the first block through the block chain network. When transmitting to the terminal device, the first block is received from the first node device.

단계(S230)에서는 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한다.In step S230, when the first block is received, an update process for the application installed in the electronic terminal device is performed based on the new update data included in the first transaction in the first block. carry out

단계(S240)에서는 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송한다.In step S240, by linking the first block to the block chain data stored in the block chain data storage unit with a chain, after the storage of the first block is completed, block propagation among the plurality of node devices The first block is transmitted to at least one second node device that is pre-designated to be a node device that is a target of .

단계(S250)에서는 미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷 데이터를 생성하고, 상기 스냅샷 데이터를 미리 설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 스냅샷 데이터와 상기 해시 값이 포함된 스냅샷 블록을 생성한다.In step S250, snapshot data including all past update data for the application application is generated with reference to the block chain data stored in the block chain data storage unit every preset period, and the snapshot data is applied to a preset hash function as an input to generate a hash value, and then a snapshot block including the snapshot data and the hash value is generated.

단계(S260)에서는 상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료한다.In step S260, when the snapshot block is generated, the snapshot block is stored by chaining the snapshot block to the block chain data stored in the block chain data storage unit.

이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 제2 노드 장치는 상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송할 수 있다.In this case, according to an embodiment of the present invention, when the first block is received from the electronic terminal device, the at least one second node device includes the new update included in the first transaction inside the first block. Update processing for the application installed in each of the at least one second node device is performed based on the data, and the second node is stored in the block chain data stored in the memory of the at least one second node device. By linking one block in a chain, at least one previously designated as a node device to be a target of block propagation in each of the at least one second node device among the plurality of node devices after the storage of the first block is completed The first block may be transmitted to another node device of

또한, 본 발명의 일실시예에 따르면, 상기 전자 단말 장치의 동작 방법은 상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 단계, 상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 단계 및 상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, in the method of operating the electronic terminal device, a new designation request signal is received from a new node device not included in the plurality of node devices to a node device that is a target of block propagation. , checking the first snapshot block generated at the most recent time among the snapshot blocks connected to the block chain data stored in the block chain data storage unit in a chain, the first snapshot block is If confirmed, sequentially checking at least one additional block connected to the block chain data in a chain as the update data is propagated from the time when the first snapshot block is created to the current time point, and the block chain The method may further include extracting the first snapshot block and the at least one additional block from data and transmitting the extracted block to the new node device.

이때, 본 발명의 일실시예에 따르면, 상기 신규 노드 장치는 메모리 상에 상기 해시 함수를 사전 저장하고 있고, 상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록에 포함된 제1 스냅샷 데이터와 상기 제1 스냅샷 데이터에 대한 해시 값을 추출하고, 상기 추출된 제1 스냅샷 데이터를 상기 신규 노드 장치의 메모리 상에 저장되어 있는 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 검증용 해시 값이 상기 추출된 제1 스냅샷 데이터에 대한 해시 값과 일치하는 것으로 확인되면, 상기 제1 스냅샷 데이터에 포함된 업데이트 데이터와 상기 적어도 하나의 추가 블록 내부의 트랜잭션에 포함된 업데이트 데이터를 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장할 수 있다.At this time, according to an embodiment of the present invention, the new node device pre-stores the hash function in a memory, and when the first snapshot block and the at least one additional block are received from the electronic terminal device, The first snapshot data included in the first snapshot block and a hash value for the first snapshot data are extracted, and the extracted first snapshot data is stored in the memory of the new node device. After generating a hash value for verification by applying it as an input to a hash function, if it is confirmed that the hash value for verification matches the hash value for the extracted first snapshot data, the update included in the first snapshot data After performing update processing for the application installed in the new node device based on data and update data included in the transaction within the at least one additional block, and configuring the first snapshot block as a genesis block By sequentially connecting the at least one additional block to the genesis block, new block chain data can be generated and stored in the memory of the new node device.

또한, 본 발명의 일실시예에 따르면, 상기 제1 스냅샷 블록을 확인하는 단계는 상기 신규 노드 장치와 사전 공유하고 있는 OTP 생성함수가 저장되어 있는 OTP 생성함수 저장부를 유지하는 단계, 상기 신규 노드 장치로부터 상기 신규 지정 요청 신호가 수신되면, 상기 신규 노드 장치의 인증을 위한 인증 이벤트를 발생시키는 단계, 상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 상기 신규 노드 장치로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청하는 단계, 상기 신규 노드 장치가 상기 랜덤 행렬을 수신한 후 상기 신규 노드 장치에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱을 연산하여 산출된 제1 피드백 행렬을 상기 전자 단말 장치로 전송하게 되면, 상기 신규 노드 장치로부터 상기 제1 피드백 행렬을 수신한 후 상기 OTP 생성함수 저장부에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 상기 신규 노드 장치에 대한 인증을 수행하는 단계 및 상기 신규 노드 장치에 대한 인증이 완료되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인하는 단계를 포함할 수 있다.In addition, according to an embodiment of the present invention, the checking of the first snapshot block includes maintaining an OTP generation function storage unit in which an OTP generation function previously shared with the new node device is stored, the new node When the new designation request signal is received from the device, generating an authentication event for authentication of the new node device. When the authentication event occurs, generating a random matrix having a size of nxn (n is a natural number greater than or equal to 2) requesting transmission of a feedback matrix corresponding to the random matrix while transmitting to the new node device; based on the OTP generation function stored in the new node device after the new node device receives the random matrix A first feedback matrix calculated by generating k (k is a natural number of 2 or more) one-time authentication numbers, generating a row vector having the k one-time authentication numbers as a component, and calculating the Kronecker product between the row vector and the random matrix When transmitted to the electronic terminal device, after receiving the first feedback matrix from the new node device, the k one-time authentication numbers are generated based on the OTP generation function stored in the OTP generation function storage unit, Performing authentication for the new node device and authentication for the new node device by checking whether the Kronecker product between the row vector having the k one-time authentication numbers as a component and the random matrix is calculated as the first feedback matrix Upon completion, the method may include confirming the first snapshot block generated at the most recent time among snapshot blocks connected to the block chain data stored in the block chain data storage unit in a chain.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법은 도 1을 이용하여 설명한 전자 단말 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, a method of operating an electronic terminal device according to an embodiment of the present invention has been described with reference to FIG. 2 . Here, since the method of operating the electronic terminal device according to an embodiment of the present invention may correspond to the configuration of the operation of the electronic terminal device 110 described with reference to FIG. 1 , a more detailed description thereof will be omitted. .

본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method of operating an electronic terminal device according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through combination with a computer.

또한, 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the method of operating an electronic terminal device according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims to be described later, but also all those with equivalent or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .

110: 전자 단말 장치
111: 블록체인 데이터 저장부 112: 블록 수신부
113: 업데이트 처리부 114: 블록 전송부
115: 스냅샷 블록 생성부 116: 스냅샷 블록 저장 처리부
117: 스냅샷 블록 확인부 118: 추가 블록 확인부
119: 신규 블록 전송부 120: OTP 생성함수 저장부
121: 인증 이벤트 발생부 122: 인증 요청부
123: 인증 수행부 124: 확인 처리부
100: 업데이트 데이터 관리 서버
101: 네트워크
102: 제1 노드 장치
103: 적어도 하나의 제2 노드 장치
104: 신규 노드 장치
110: electronic terminal device
111: block chain data storage unit 112: block receiving unit
113: update processing unit 114: block transfer unit
115: snapshot block generation unit 116: snapshot block storage processing unit
117: snapshot block confirmation unit 118: additional block confirmation unit
119: new block transmission unit 120: OTP generation function storage unit
121: authentication event generation unit 122: authentication request unit
123: authentication performing unit 124: verification processing unit
100: update data management server
101: network
102: first node device
103: at least one second node device
104: new node device

Claims (12)

업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 에 있어서,
상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부;
상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 블록 수신부;
상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 업데이트 처리부;
상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 블록 전송부;
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성하고, 상기 스냅샷 데이터를 미리 설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 스냅샷 데이터와 상기 해시 값이 포함된 스냅샷 블록을 생성하는 스냅샷 블록 생성부;
상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 스냅샷 블록 저장 처리부;
상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 스냅샷 블록 확인부;
상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 추가 블록 확인부; 및
상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 신규 블록 전송부
를 포함하고,
상기 신규 노드 장치는
메모리 상에 상기 해시 함수를 사전 저장하고 있고, 상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록에 포함된 제1 스냅샷 데이터와 상기 제1 스냅샷 데이터에 대한 해시 값을 추출하고, 상기 추출된 제1 스냅샷 데이터를 상기 신규 노드 장치의 메모리 상에 저장되어 있는 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 검증용 해시 값이 상기 추출된 제1 스냅샷 데이터에 대한 해시 값과 일치하는 것으로 확인되면, 상기 제1 스냅샷 데이터에 포함된 업데이트 데이터와 상기 적어도 하나의 추가 블록 내부의 트랜잭션에 포함된 업데이트 데이터를 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장하는 것을 특징으로 하는 전자 단말 장치.
In an electronic terminal device that receives update data for an application transmitted from an update data management server through a block chain network, wherein the electronic terminal device is one of a plurality of node devices constituting the block chain network,
a block chain data storage unit storing block chain data in which blocks including a transaction including past update data for the application installed in the electronic terminal device are connected in a chain;
As new update data for the application is generated in the update data management server, a first block including a first transaction including the new update data is generated, and then the first block is transferred to the blockchain network Since the propagation starts through a block receiving unit for receiving the first block from the first node device;
an update processing unit that, when the first block is received, performs update processing on the application application installed in the electronic terminal device based on the new update data included in the first transaction within the first block;
By linking the first block to the block chain data stored in the block chain data storage unit with a chain, a node that is a target of block propagation among the plurality of node devices after the storage of the first block is completed a block transmission unit for transmitting the first block to at least one second node device designated in advance to be a device;
Creates snapshot data including all past update data for the application by referring to the block chain data stored in the block chain data storage unit every preset period, and pre-records the snapshot data a snapshot block generator for generating a hash value by applying it as an input to a set hash function, and then generating a snapshot block including the snapshot data and the hash value;
a snapshot block storage processing unit for completing storage of the snapshot block by chaining the snapshot block to the block chain data stored in the block chain data storage unit when the snapshot block is generated;
When a new designation request signal is received from a new node device that is not included in the plurality of node devices to a node device that is a target of block propagation, the block chain data stored in the block chain data storage unit is chained. a snapshot block checking unit for checking a first snapshot block generated at the most recent point in time among the connected snapshot blocks;
When the first snapshot block is confirmed, at least one additional block chained to the block chain data is sequentially added as the update data is propagated from the time when the first snapshot block is created to the current time. Additional block confirmation unit to confirm; and
A new block transmission unit that extracts the first snapshot block and the at least one additional block from the block chain data and transmits it to the new node device
including,
The new node device
The hash function is pre-stored in a memory, and when the first snapshot block and the at least one additional block are received from the electronic terminal device, the first snapshot data included in the first snapshot block and the After extracting a hash value for the first snapshot data, and applying the extracted first snapshot data as an input to the hash function stored in the memory of the new node device to generate a hash value for verification, the When it is confirmed that the hash value for verification matches the hash value of the extracted first snapshot data, update data included in the first snapshot data and update data included in a transaction inside the at least one additional block performs update processing on the application installed in the new node device based on By connecting, new block chain data is generated and stored in the memory of the new node device.
제1항에 있어서,
상기 적어도 하나의 제2 노드 장치는
상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송하는 전자 단말 장치.
According to claim 1,
the at least one second node device
When the first block is received from the electronic terminal device, the application application installed in each of the at least one second node device based on the new update data included in the first transaction inside the first block after completing the storage of the first block by performing an update process on the first block and linking the first block to the block chain data stored in the memory of the at least one second node device An electronic terminal device for transmitting the first block to at least one other node device previously designated as a node device to be a target of block propagation in each of the at least one second node device among a plurality of node devices.
삭제delete 삭제delete 제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 스냅샷 블록을 확인하는 확인 처리부
를 포함하는 전자 단말 장치.
According to claim 1,
The snapshot block confirmation unit
an OTP generation function storage unit storing an OTP (One Time Password) generation function shared with the new node device in advance;
an authentication event generator for generating an authentication event for authentication of the new node device when the new designation request signal is received from the new node device;
an authentication request unit for requesting transmission of a feedback matrix corresponding to the random matrix while generating a random matrix having a size of nxn (n is a natural number greater than or equal to 2) when the authentication event occurs and transmitting it to the new node device;
After the new node device receives the random matrix, it generates k one-time authentication numbers (k is a natural number greater than or equal to 2) based on the OTP generation function stored in the new node device, and generates the k one-time authentication numbers. When a first feedback matrix calculated by calculating a Kronecker product between the row vector and the random matrix after generating a row vector having components is transmitted to the electronic terminal device, the first feedback from the new node device After receiving a matrix, the k one-time authentication numbers are generated based on the OTP generation function stored in the OTP generation function storage unit, and the kronecker between a row vector having the k one-time authentication numbers as components and the random matrix. an authentication performing unit that authenticates the new node device by checking whether a product is calculated with the first feedback matrix; and
When the authentication of the new node device is completed, the first snapshot block generated at the most recent point among the snapshot blocks connected by a chain to the blockchain data stored in the blockchain data storage unit is checked confirmation processing unit
An electronic terminal device comprising a.
업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 의 동작 방법에 있어서,
상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계;
상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 단계;
상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 단계;
상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 단계;
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성하고, 상기 스냅샷 데이터를 미리 설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 스냅샷 데이터와 상기 해시 값이 포함된 스냅샷 블록을 생성하는 단계;
상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 단계;
상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 단계;
상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 단계; 및
상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 단계
를 포함하고,
상기 신규 노드 장치는
메모리 상에 상기 해시 함수를 사전 저장하고 있고, 상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록에 포함된 제1 스냅샷 데이터와 상기 제1 스냅샷 데이터에 대한 해시 값을 추출하고, 상기 추출된 제1 스냅샷 데이터를 상기 신규 노드 장치의 메모리 상에 저장되어 있는 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 검증용 해시 값이 상기 추출된 제1 스냅샷 데이터에 대한 해시 값과 일치하는 것으로 확인되면, 상기 제1 스냅샷 데이터에 포함된 업데이트 데이터와 상기 적어도 하나의 추가 블록 내부의 트랜잭션에 포함된 업데이트 데이터를 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장하는 것을 특징으로 하는 전자 단말 장치의 동작 방법.
In an operation method of an electronic terminal device that receives update data for an application application transmitted from an update data management server through a block chain network, wherein the electronic terminal device is one of a plurality of node devices constituting the block chain network ,
maintaining a block chain data storage unit storing block chain data in which blocks including transactions including past update data for the application installed in the electronic terminal device are chained therein;
As new update data for the application is generated in the update data management server, a first block including a first transaction including the new update data is generated, and then the first block is transferred to the blockchain network Since the propagation starts through receiving the first block from the first node device;
performing update processing on the application installed in the electronic terminal device based on the new update data included in the first transaction within the first block when the first block is received;
By linking the first block to the block chain data stored in the block chain data storage unit with a chain, the node that is the target of block propagation among the plurality of node devices after the storage of the first block is completed transmitting the first block to at least one second node device pre-designated to be a device;
Creates snapshot data including all past update data for the application by referring to the block chain data stored in the block chain data storage unit every preset period, and pre-records the snapshot data generating a hash value by applying it as an input to a set hash function, and then generating a snapshot block including the snapshot data and the hash value;
completing storage of the snapshot block by chaining the snapshot block to the block chain data stored in the block chain data storage unit when the snapshot block is generated;
When a new designation request signal is received from a new node device that is not included in the plurality of node devices to a node device that is a target of block propagation, the block chain data stored in the block chain data storage unit is chained. checking a first snapshot block generated at the most recent time among the connected snapshot blocks;
When the first snapshot block is confirmed, at least one additional block chained to the block chain data is sequentially added as the update data is propagated from the time when the first snapshot block is created to the current time. checking; and
extracting the first snapshot block and the at least one additional block from the block chain data and transmitting it to the new node device
including,
The new node device
The hash function is pre-stored in a memory, and when the first snapshot block and the at least one additional block are received from the electronic terminal device, the first snapshot data included in the first snapshot block and the After extracting a hash value for the first snapshot data, and applying the extracted first snapshot data as an input to the hash function stored in the memory of the new node device to generate a hash value for verification, the When it is confirmed that the hash value for verification matches the hash value of the extracted first snapshot data, update data included in the first snapshot data and update data included in the transaction inside the at least one additional block performs update processing on the application installed in the new node device based on By connecting, new block chain data is generated and stored in the memory of the new node device.
제6항에 있어서,
상기 적어도 하나의 제2 노드 장치는
상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송하는 전자 단말 장치의 동작 방법.
7. The method of claim 6,
the at least one second node device
When the first block is received from the electronic terminal device, the application application installed in each of the at least one second node device based on the new update data included in the first transaction inside the first block after completing the storage of the first block by performing an update process on the first block and linking the first block to the block chain data stored in the memory of the at least one second node device An operating method of an electronic terminal device for transmitting the first block from each of the at least one second node device among a plurality of node devices to at least one other node device that is previously designated as a node device to be a target of block propagation.
삭제delete 삭제delete 제6항에 있어서,
상기 제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 스냅샷 블록을 확인하는 단계
를 포함하는 전자 단말 장치의 동작 방법.
7. The method of claim 6,
The step of checking the first snapshot block is
maintaining an OTP generation function storage unit in which an OTP (One Time Password) generation function previously shared with the new node device is stored;
generating an authentication event for authentication of the new node device when the new designation request signal is received from the new node device;
requesting transmission of a feedback matrix corresponding to the random matrix while generating a random matrix having a size of nxn (n is a natural number greater than or equal to 2) when the authentication event occurs and transmitting it to the new node device;
After the new node device receives the random matrix, it generates k one-time authentication numbers (k is a natural number greater than or equal to 2) based on the OTP generation function stored in the new node device, and generates the k one-time authentication numbers. When a first feedback matrix calculated by calculating a Kronecker product between the row vector and the random matrix after generating a row vector as a component is transmitted to the electronic terminal device, the first feedback from the new node device After receiving the matrix, the k one-time authentication numbers are generated based on the OTP generation function stored in the OTP generation function storage unit, and a kronecker between a row vector having the k one-time authentication numbers as components and the random matrix. performing authentication on the new node device by checking whether a product is calculated with the first feedback matrix; and
When the authentication of the new node device is completed, the first snapshot block generated at the most recent time among the snapshot blocks connected to the blockchain data stored in the blockchain data storage unit in a chain is checked step to do
An operating method of an electronic terminal device comprising a.
제6항, 제7항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6, 7 or 10 through combination with a computer. 제6항, 제7항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6, 7 or 10 in combination with a computer.
KR1020200025955A 2019-12-12 2020-03-02 Electronic terminal device that enables update processing for applications and forgery detection of update data based on blockchain and operating method thereof KR102318022B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190165943 2019-12-12
KR20190165943 2019-12-12

Publications (2)

Publication Number Publication Date
KR20210074981A KR20210074981A (en) 2021-06-22
KR102318022B1 true KR102318022B1 (en) 2021-10-27

Family

ID=76600905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200025955A KR102318022B1 (en) 2019-12-12 2020-03-02 Electronic terminal device that enables update processing for applications and forgery detection of update data based on blockchain and operating method thereof

Country Status (1)

Country Link
KR (1) KR102318022B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101979586B1 (en) * 2018-12-19 2019-05-17 주식회사 마크애니 IoT DEVICE MANAGED BASED ON BLOCK CHAIN, SYSTEM AND METHOD THEREOF
WO2019223469A1 (en) 2018-05-21 2019-11-28 腾讯科技(深圳)有限公司 Block chain network management method, device, medium and electronic device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102025409B1 (en) * 2017-07-31 2019-09-25 서강대학교산학협력단 Data access management system based on blockchain and method thereof
US11257081B2 (en) * 2018-05-08 2022-02-22 Oracle International Corporation Integrating a blockchain ledger with an application external to the blockchain ledger

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019223469A1 (en) 2018-05-21 2019-11-28 腾讯科技(深圳)有限公司 Block chain network management method, device, medium and electronic device
KR101979586B1 (en) * 2018-12-19 2019-05-17 주식회사 마크애니 IoT DEVICE MANAGED BASED ON BLOCK CHAIN, SYSTEM AND METHOD THEREOF

Also Published As

Publication number Publication date
KR20210074981A (en) 2021-06-22

Similar Documents

Publication Publication Date Title
CN109075964B (en) Block chaining supporting multiple one-way functions for block verification
WO2020119512A1 (en) Task processing method, system and device, and storage medium
CN111163182B (en) Block chain-based device registration method and apparatus, electronic device, and storage medium
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
KR20210003234A (en) Maintaining blocks of a blockchain in a segmented blockchain network
CN109951547B (en) Transaction request parallel processing method, device, equipment and medium
JP2020532217A (en) Constraints on the output of unlock transactions on the blockchain
CN102170440A (en) Method suitable for safely migrating data between storage clouds
KR102316763B1 (en) Electronic terminal device that enables update processing for application and forgery detection of application based on blockchain and operating method thereof
CN111161062B (en) Cross-chain transaction method and device
JP2018093434A (en) Transaction management method, transaction management program and transaction management device
CN109508987B (en) Block chain construction method, system and related components
CN107886006B (en) Data operation method and device and electronic equipment
KR20180005542A (en) Apparatus and method for verifing data integrity
CN112714158A (en) Transaction processing method, relay network, cross-link gateway, system, medium, and device
WO2020213763A1 (en) Method and system for verifying block-chain data stored in storage having different format from block-chain
CN111597567A (en) Data processing method, data processing device, node equipment and storage medium
CN112650812A (en) Data fragment storage method and device, computer equipment and storage medium
KR102318022B1 (en) Electronic terminal device that enables update processing for applications and forgery detection of update data based on blockchain and operating method thereof
CN110851813B (en) Identity verification method, node device of block chain system and block chain system
KR102365945B1 (en) Electronic terminal device capable of update processing for application based on blockchain and operating method thereof
KR20180014537A (en) Apparatus and method for verifing data integrity in distributed storage environment
CN114465714B (en) Node configuration method and system in alliance chain
CN115796861B (en) Cross-chain transaction method, system, equipment and storage medium on blockchain
CN112910643B (en) Method and device for generating random number in block chain

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