KR102030905B1 - Block chain system architecture and method - Google Patents

Block chain system architecture and method Download PDF

Info

Publication number
KR102030905B1
KR102030905B1 KR1020170168696A KR20170168696A KR102030905B1 KR 102030905 B1 KR102030905 B1 KR 102030905B1 KR 1020170168696 A KR1020170168696 A KR 1020170168696A KR 20170168696 A KR20170168696 A KR 20170168696A KR 102030905 B1 KR102030905 B1 KR 102030905B1
Authority
KR
South Korea
Prior art keywords
node
transaction
blockchain
end terminal
nodes
Prior art date
Application number
KR1020170168696A
Other languages
Korean (ko)
Other versions
KR20190068374A (en
Inventor
조재훈
모함마드 매해디 하산 어닉
나스르 마쉬아워 아젬 알자벤
이병윤
박혜숙
김철수
Original Assignee
인제대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인제대학교 산학협력단 filed Critical 인제대학교 산학협력단
Priority to KR1020170168696A priority Critical patent/KR102030905B1/en
Priority to PCT/KR2018/013566 priority patent/WO2019112193A1/en
Publication of KR20190068374A publication Critical patent/KR20190068374A/en
Application granted granted Critical
Publication of KR102030905B1 publication Critical patent/KR102030905B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 적어도 하나의 사용자 단말이 연결된 노드를 포함하는 블록 체인 시스템에 관한 것으로, 상기 노드는 적어도 하나 이상의 다른 노드와 블록 체인 네트워크를 형성하고, 상기 사용자 단말의 거래(TRANSACTION) 데이터를 저장하고, 상기 블록 체인 네트워크에 포함된 다른 노드와 상기 거래(TRANSACTION) 데이터의 동기화를 수행할 수 있다.The present invention relates to a blockchain system including a node to which at least one user terminal is connected, wherein the node forms a blockchain network with at least one other node, stores transaction data of the user terminal, Synchronization of the transaction data with another node included in the blockchain network may be performed.

Description

블록 체인 시스템 아키텍쳐 및 방법{BLOCK CHAIN SYSTEM ARCHITECTURE AND METHOD}BLOCK CHAIN SYSTEM ARCHITECTURE AND METHOD}

본 발명은 블록 체인 시스템의 구조 및 방법에 관한 것으로서, 보다 구체적으로는 블록 체인 기술을 이용하여 사용자 단말들 간의 거래를 수행하기 위한 블록 체인 시스템의 구조 및 방법에 관한 것이다.The present invention relates to a structure and method of a blockchain system, and more particularly, to a structure and a method of a blockchain system for performing a transaction between user terminals using blockchain technology.

블록 체인(Block chain)은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록 체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 블록 체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 10분에 한 번씩 이 기록을 검증하여 해킹을 막는다.Block chain, also known as public trading ledger, is a technology that prevents hacking that can occur when trading in virtual currency. Traditional financial firms keep transaction records on a centralized server, while blockchain sends transaction details to all users participating in a transaction, and checks each transaction to prevent data forgery. Blockchain is applied to Bitcoin, a representative online virtual currency. Bitcoin records transaction details transparently in a book that anyone can read, and several computers using Bitcoin verify this record every 10 minutes to prevent hacking.

비트코인은 시스템을 통제하는 서버가 없이 P2P(pear to pear) 방식으로 완전히 분산화된 형태로 작동하게 설계되었다. 또한, 화폐를 사용할 수 있는 사용자를 따로 등록하는 기관을 두지 않고 누구나 시스템을 사용할 수 있게 했다. 등록하는 서버가 없으므로, 각각의 사용자는 공개키를 일종의 일회용 계좌번호처럼 사용한다. 예컨대, A라는 사용자가 특정 메시지에 자신만이 알고 있는 개인키로 서명하면, 제삼자는 공개키를 이용해 그 서명이 이 공개키의 짝에 해당하는 비밀키로 서명한 것인지(다시 말해 A라는 사용자가 작성한 것이 맞는지) 인증할 수 있다.Bitcoin is designed to work in a fully distributed fashion in a pear to pear (P2P) manner without a server controlling the system. In addition, the system allows anyone to use the system without having to register a user who can use money. Since there is no server to register, each user uses the public key as a kind of one-time account number. For example, if user A signs a message with a private key that only he knows, a third party uses the public key to sign the signature with the private key that corresponds to the pair of public keys. Can be authenticated.

최근, 블록 체인의 보안 기술에 대한 관심이 높아지면서, 가상 화폐뿐만 아니라 금융 거래, 의료 데이터 관리, 파일 관리 등 다양한 분야에 블록 체인 기술이 적용되고 있다.Recently, as the interest in blockchain security technology increases, blockchain technology has been applied to various fields such as financial transactions, medical data management, and file management as well as virtual currency.

블록 체인 방식은 모든 노드가 같은 정보를 공유하여서 악의적 노드가 임의로 내용을 수정하기 위해서는 모든 노드가 가지고 있는 블록체인의 내용을 수정해야 하므로 임의적 수정이 사실상 불가능하기 때문에 보안성이 뛰어나다는 장점이 있다.The blockchain method has the advantage of excellent security because all nodes share the same information so that the malicious nodes must modify the contents of the blockchain owned by all nodes in order to modify the contents arbitrarily.

그러나, 상기 블록 체인 방식은 사용자 단말에서 모든 데이터를 공유하고 있기 때문에 50% 이상의 사용자가 담합을 하여 조작을 할 경우 모든 사용자 단말에서 조작된 데이터를 인식하는 문제가 발생할 수 있다.However, since the blockchain method shares all the data in the user terminal, when the 50% or more users collide to perform the operation, there may be a problem of recognizing the manipulated data in all the user terminals.

대한민국등록특허공보 제10-1763827호 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램(주식회사 라이프시맨틱스) 2017.07.26Korea Registered Patent Publication No. 10-1763827 Blockchain-based medical data transmission system, method and program (Life Semantics Co., Ltd.) 2017.07.26

본 발명은 기존의 네트워크 장비를 이용해서 블록 체인 네트워크를 형성하고, 사용자 단말의 연산 능력과 저장 공간을 효율적으로 활용하기 위함이다.The present invention is to form a blockchain network using existing network equipment, and to efficiently utilize the computing power and storage space of the user terminal.

상기와 같은 목적을 달성하기 위한 블록 체인 시스템에 있어서, 적어도 하나의 사용자 단말이 연결된 노드를 포함하고, 상기 노드는 적어도 하나 이상의 다른 노드와 블록 체인 네트워크를 형성하고, 상기 사용자 단말의 거래(TRANSACTION) 데이터를 저장하고, 상기 블록 체인 네트워크에 포함된 다른 노드와 상기 거래(TRANSACTION) 데이터의 동기화를 수행할 수 있다.In the blockchain system for achieving the above object, at least one user terminal comprises a node connected, the node forms a blockchain network with at least one other node, the transaction of the user terminal (TRANSACTION) Data may be stored and synchronization of the transaction data with other nodes included in the blockchain network may be performed.

일 실시예에 따르면, 상기 노드는, 클라우드 서버, eNodeB, 무선 액세스 포인트, 및 유/무선 네트워크 장비 중 적어도 하나가 될 수 있다.According to an embodiment, the node may be at least one of a cloud server, an eNodeB, a wireless access point, and wired / wireless network equipment.

여기서, 상기 노드는, 검색 프로토콜(Discovery Protocol)을 이용해서 상기 블록 체인 네트워크에 포함된 다른 노드 및 다른 사용자 단말을 검색할 수 있다.Here, the node may search for other nodes and other user terminals included in the blockchain network by using a discovery protocol.

또한, 상기 노드는, 상기 사용자 단말의 인증 또는 검증 과정을 수행하고, 상기 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION) 경로를 셋업할 수 있다.In addition, the node may perform an authentication or verification process of the user terminal and set up a transaction path between the user terminal and another user terminal.

다른 일 실시예에 따르면, 상기 노드는, 상기 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION)에 관련된 계산을 대신 수행할 수 있다.According to another embodiment, the node may perform a calculation related to a transaction (TRANSACTION) between the user terminal and another user terminal instead.

적어도 하나의 사용자 단말이 연결된 노드가 수행하는 블록 체인 거래(TRANSACTION) 방법은 상기 사용자 단말로부터 다른 사용자 단말과의 연결 요청을 수신하는 단계, 상기 사용자 단말과 상기 다른 사용자 단말 간의 거래(TRANSACTION) 경로를 셋업하는 단계, 상기 사용자 단말과 상기 다른 사용자 단말 간의 거래(TRANSACTION)와 관련된 데이터를 저장하는 단계 및 상기 노드와 블록 체인 네트워크를 형성하는 다른 노드와 상기 거래(TRANSACTION) 데이터를 동기화하는 단계를 포함할 수 있다.In a block chain transaction (TRANSACTION) method performed by a node to which at least one user terminal is connected, receiving a connection request with another user terminal from the user terminal, and performing a transaction path between the user terminal and the other user terminal. Setting up, storing data relating to a transaction (TRANSACTION) between the user terminal and the other user terminal, and synchronizing the transaction (TRANSACTION) data with other nodes forming a blockchain network with the node. Can be.

일 실시예에 따르면, 상기 노드는, 클라우드 서버, eNodeB, 무선 액세스 포인트, 및 유/무선 네트워크 장비 중 적어도 하나가 될 수 있다.According to an embodiment, the node may be at least one of a cloud server, an eNodeB, a wireless access point, and wired / wireless network equipment.

일 실시예에 따르면, 상기 블록 체인 거래 방법은, 검색 프로토콜(Discovery Protocol)을 이용해서 상기 블록 체인 네트워크에 포함된 다른 노드 및 다른 사용자 단말을 검색하는 단계를 더 포함할 수 있다.According to an embodiment, the blockchain transaction method may further include searching for another node and another user terminal included in the blockchain network using a discovery protocol.

일 실시예에 따르면, 상기 블록 체인 거래 방법은, 상기 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION)에 관련된 계산을 대신 수행하는 단계를 더 포함할 수 있다.According to an embodiment, the blockchain transaction method may further include performing a calculation related to a transaction (TRANSACTION) between the user terminal and another user terminal instead.

본 발명에 따르면, 기존의 네트워크 장비를 이용해서 블록 체인 네트워크를 구현하기 때문에, 블록 체인 네트워크를 구현하기 위해 소모되는 비용을 절감할 수 있다.According to the present invention, since the blockchain network is implemented using existing network equipment, the cost consumed to implement the blockchain network can be reduced.

본 발명에 따르면, 노드가 사용자 단말이 수행해야 하는 계산을 대신 처리하기 때문에, 사용자 단말의 업무 부담을 절감하고, 사용자 단말의 저장 용량 부담을 절감할 수 있다.According to the present invention, since the node processes the calculation that the user terminal should perform instead, it is possible to reduce the workload of the user terminal and reduce the storage capacity burden of the user terminal.

본 발명에 따르면, 노드는 검색 프로토콜을 이용하여 블록 체인 네트워크 내 다른 사용자 단말을 검색하기 때문에 거래 및 동기화 총 시간을 절감할 수 있다.According to the present invention, since the node searches for other user terminals in the blockchain network by using a search protocol, the total time for transaction and synchronization can be reduced.

도 1은 본 발명이 적용되는 블록 체인 방식의 개념을 나타내는 도면이다.
도 2는 본 발명에 따라 클라우드 서버에 블록 체인 컨트롤러가 위치하는 실시예를 설명하기 위한 도면이다.
도 3은 본 발명에 따라 유선 또는 무선 네트워크 장비에 블록 체인 컨트롤러가 위치하는 실시예를 설명하기 위한 도면이다.
도 4는 본 발명에 따라 eNodeB 또는 무선 액세스 포인트에 블록 체인 컨트롤러가 위치하는 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 블록 체인 시스템과 블록 체인 컨트롤러를 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 블록 체인 시스템의 노드가 수행하는 블록 체인 거래(TRANSACTION) 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 블록 체인 시스템의 각 구성 요소가 수행하는 블록 체인 거래(TRANSACTION) 방법을 설명하기 위한 흐름도이다.
1 is a diagram illustrating the concept of a blockchain method to which the present invention is applied.
2 is a diagram illustrating an embodiment in which a blockchain controller is located in a cloud server according to the present invention.
3 is a view for explaining an embodiment in which the block chain controller is located in the wired or wireless network equipment according to the present invention.
4 is a diagram illustrating an embodiment in which a block chain controller is located in an eNodeB or a wireless access point according to the present invention.
5 is a diagram illustrating a blockchain system and a blockchain controller according to an exemplary embodiment of the present invention.
6 is a flowchart illustrating a blockchain transaction (TRANSACTION) method performed by a node of a blockchain system according to an embodiment of the present invention.
7 is a flowchart illustrating a blockchain transaction (TRANSACTION) method performed by each component of a blockchain system according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명을 실시하기 위한 구체적인 내용을 실시 예에 기초하여 설명한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the invention are different, but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있는 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백히 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used in a sense that can be commonly understood by those skilled in the art. In addition, terms that are defined in a commonly used dictionary are not ideally or excessively interpreted unless they are specifically defined clearly.

본 발명은 사용자 단말들 간에 블록 체인을 형성하는 것이 아니라, 네트워크 장치들이 블록 체인 컨트롤러로서 불록 체인을 형성하고, 사용자 단말에서 수행해야 하는 업무를 블록 체인 컨트롤러를 통해 수행함으로써 사용자 단말의 에너지 소모를 효과적으로 줄일 수 있는 블록 체인 시스템 아키텍쳐 및 방법을 개시한다.The present invention does not form a blockchain between user terminals, but the network devices form a block chain as a blockchain controller and efficiently perform energy consumption of the user terminal by performing a task to be performed in the user terminal through the blockchain controller. Disclosed is a blockchain system architecture and method that can be reduced.

일반적인 블록 체인 시스템의 경우 유저들이 모든 데이터를 다 가지고 있기 때문에 50% 이상의 유저들이 담합을 해서 조작을 하면 모든 유저가 조작된 데이터를 인식하므로 문제가 된다. 예컨대, 종래의 블록 체인은 컨트롤러나 중앙 제어 시스템이 없어서 공격에 취약하고 과반수 이상을 점유하면 그 내용 전체를 수정할 수 있는 문제가 있다.In the general blockchain system, since users have all the data, if more than 50% of the users collide and manipulate the data, it becomes a problem because all the users recognize the manipulated data. For example, the conventional blockchain is vulnerable to attack because there is no controller or a central control system, and if it occupies more than half, there is a problem that the entire contents can be modified.

따라서, 본 발명에서는 복수의 블록 체인 컨트롤러들이 블록 체인 네트워크를 형성하고 사용자 단말에서는 블록 체인 컨트롤러를 이용하여 인증함으로써 보다 강화된 보안성을 확보할 수 있다. 본 발명에서는 종래와 같이 사용자 단말 간의 블록 체인 형성이 아니라 네트워크 장비를 블록 체인으로 구성하고, 이를 블록 체인 컨트롤러(block chain controller)라 지칭하기로 한다. Therefore, in the present invention, a plurality of blockchain controllers form a blockchain network, and the user terminal can secure stronger security by authenticating using the blockchain controller. In the present invention, rather than forming a block chain between user terminals as in the prior art, the network equipment is configured as a block chain, which will be referred to as a block chain controller.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement the present invention.

도 1은 본 발명이 적용되는 블록 체인 방식의 개념을 나타내는 도면이다. 도 1을 참조하면, 블록 체인은 최초의 블록(Genesis Block)부터 시작해서 바로 앞의 블록에 대한 링크를 가지고 있는 링크드 리스트이다. 블록 체인은 여러 노드(100, 110, 120, 130)에 걸쳐 분산되어 저장 및 관리되며, 각 블록에는 거래 정보(트랜잭션)가 포함되어 있으므로, 블록의 집합체인 블록 체인은 모든 거래 정보를 포함하는 거대한 분산 장부라고 할 수 있다. 즉, 블록은 블록 체인의 원소로서 개념적으로는 다수의 거래 정보(트랜잭션)의 묶음을 의미한다. 블록은 블록 헤더와 거래 정보, 기타 정보로 구성된다.1 is a diagram illustrating the concept of a blockchain method to which the present invention is applied. Referring to FIG. 1, a block chain is a linked list that contains a link to the previous block starting with the first block. Blockchains are distributed and stored and managed across multiple nodes 100, 110, 120, and 130, and each block contains transaction information (transactions), so a blockchain that is a collection of blocks contains a huge amount of all transaction information. It can be called a distributed ledger. In other words, a block is an element of a blockchain and conceptually means a bundle of a plurality of transaction information (transactions). A block consists of block headers, transaction information, and other information.

도 1은 본 발명의 일 실시예에 따른 블록 체인하에서의 노드들간의 구성도이다. 상술한 바와 같이, 블록 체인은 분산 기술을 사용하는 바, 각 사용자 단말에 대한 정보는 P2P(Peer to Peer) 기술을 이용해 복수의 블록 체인 컨트롤러(예컨대, 도 1의 노드 0 내지 노드 3)에 보관된다. 이들 노드간에 체인처럼 연결된 상태로 블록을 공유하고 있으므로, 상기 블록 체인으로 연결된 데이터를 위조하려면 상기 노드들의 상당수를 해킹해야만 한다. 또한 상기 트랜잭션이 일정이상 쌓이면, 상기 노드들은 서로 간의 합의라는 과정을 거쳐서 저장된 정보들이 서로 동일하게 축적하게 된다.1 is a block diagram illustrating nodes between block chains according to an embodiment of the present invention. As described above, the blockchain uses a distributed technology, and information about each user terminal is stored in a plurality of blockchain controllers (eg, nodes 0 to 3 in FIG. 1) using a peer to peer (P2P) technology. do. Since these nodes share blocks in a chained state, many of the nodes must be hacked to forge data connected in the blockchain. In addition, if the transaction is accumulated more than a certain amount of time, the nodes accumulate the same information stored in the same process through the process of mutual agreement.

예를 들어, 블록이 기정해진 주기에 해당하면, 노드 0이 해당 트랜잭션들을 하나의 블록으로 생성한다. 이 블록은 블록 헤더와 실제 트랜잭션 내용을 포함하는 블록내용으로 구성된다. 이렇게 생성된 블록중에서 블록 헤더를 매개 변수로 하여서 노드 1 내지 3과 서로 합의 과정을 거치게 된다.For example, if a block corresponds to a predetermined period, node 0 creates the transactions as one block. This block consists of the block header containing the block header and the actual transaction contents. In this block, the block header is used as a parameter and the nodes 1 to 3 are mutually agreed.

본 발명에서는 블록 체인 컨트롤러를 통해서 블록 체인 시스템을 구현할 수 있다. 여기서 종단에 위치한 사용자 단말이 아니라, 종단의 사용자 단말에 연결되는 노드가 블록 체인 컨트롤러 역할을 수행할 수 있다. 하나의 노드는 하나 이상의 사용자 단말의 거래를 동시에 처리할 수 있다. 블록 체인 컨트롤러는 네트워크에서 다른 블록 체인 컨트롤러 및 사용자 단말을 검색하기 위해서 검색 프로토콜을 사용할 수 있다. 블록 체인 컨트롤러는 연결된 사용자 단말의 세부사항을 파악할 수 있다. 거래는 사용자 단말들 간에 발생하지만, 데이터 백업과 보안을 위해 블록 체인 컨트롤러는 거래 관련 정보를 다른 블록 체인 컨트롤러와 함께 저장하고 동기화할 수 있다.In the present invention, a blockchain system can be implemented through a blockchain controller. Here, the node connected to the end user terminal, not the user terminal located at the end, may serve as a block chain controller. One node may simultaneously process transactions of one or more user terminals. The blockchain controller can use a search protocol to search for other blockchain controllers and user terminals in the network. The blockchain controller can grasp the details of the connected user terminal. Transactions occur between user terminals, but for data backup and security, the blockchain controller can store and synchronize transaction-related information with other blockchain controllers.

일 실시예에 따르면, 블록 체인 컨트롤러는 기존의 네트워크 장비 및 기반 시설에 설치되어 사용될 수 있다. 블록 체인 컨트롤러는 커뮤니케이션 또는 거래의 보안 방법을 제공할 뿐만 아니라 블록 체인 시스템 구현을 위해 새로운 네트워크 장치를 설치하는 비용을 절약하고 사용자 단말의 계산/저장공간 부담을 줄여 블록 체인의 사용을 장려할 수 있다.According to one embodiment, the blockchain controller can be installed and used in existing network equipment and infrastructure. Blockchain controllers not only provide a secure way of communicating or transacting, but they also encourage the use of blockchain by reducing the cost of installing new network devices to implement blockchain systems and reducing the computation / storage burden on user terminals. .

도 2는 본 발명에 따라 클라우드 서버에 블록 체인 컨트롤러가 위치하는 실시예를 설명하기 위한 도면이다.2 is a diagram illustrating an embodiment in which a blockchain controller is located in a cloud server according to the present invention.

도 2를 참조하면, 일 실시예에 따른 블록 체인 시스템은 기존의 클라우드 서버(230)의 시스템에 블록 체인 컨트롤러(200)를 설치하여 활용할 수 있다.Referring to FIG. 2, the blockchain system according to an embodiment may install and utilize a blockchain controller 200 in a system of an existing cloud server 230.

일 실시예에 따르면, 블록 체인 시스템은 유선 또는 무선 네트워크 장비(210)에 연결된 사용자 단말(221, 222, 223)과 클라우드 서버(230)를 포함할 수 있다. 이때, 블록 체인 컨트롤러(200)를 클라우드 서버에 설치하여 클라우드 서버가 블록 체인 컨트롤러로 동작하도록 할 수 있다. 따라서, 복수 개의 클라우드 서버들끼리 블록 체인 네트워크를 형성하고, 사용자 단말들(221, 222, 223)은 유선 또는 무선으로 네트워크 장비(210)를 통해 클라우드 서버(230)에 연결되어 블록 체인 시스템을 구성할 수 있다.According to an embodiment, the blockchain system may include a user terminal 221, 222, 223 and a cloud server 230 connected to the wired or wireless network equipment 210. In this case, the block chain controller 200 may be installed in the cloud server so that the cloud server operates as the block chain controller. Accordingly, the plurality of cloud servers form a block chain network, and the user terminals 221, 222, and 223 are connected to the cloud server 230 through the network equipment 210 by wire or wirelessly to form a block chain system. can do.

도 3은 본 발명에 따라 유선 또는 무선 네트워크 장비에 블록 체인 컨트롤러가 위치하는 실시예를 설명하기 위한 도면이다.3 is a view for explaining an embodiment in which the block chain controller is located in the wired or wireless network equipment according to the present invention.

도 3을 참조하면, 일 실시예에 따른 블록 체인 시스템은 기존의 유선 및 무선 네트워크 장비(310)에 블록 체인 컨트롤러(300)를 설치하여 활용할 수 있다.Referring to FIG. 3, the blockchain system according to an embodiment may be installed by utilizing the blockchain controller 300 in the existing wired and wireless network equipment 310.

일 실시예에 따르면, 사용자 단말들(321, 322, 323)은 유선 또는 무선 네트워크 장비(310)에 연결되어 인터넷(330) 네트워크에 연결될 수 있다. 이때, 블록 체인 컨트롤러(300)를 유선 또는 무선 네트워크 장비(310)에 설치하여 유선 또는 무선 네트워크 장비(310)가 블록 체인 컨트롤러로 동작하도록 할 수 있다. 따라서, 유선 또는 무선 네트워크 장비(310)들끼리 블록 체인 네트워크를 형성하고, 사용자 단말들(321, 322, 323)은 유선 또는 무선으로 네트워크 장비(310)를 통해 인터넷(330)에 연결되어 블록 체인 시스템을 구성할 수 있다.According to an embodiment, the user terminals 321, 322, and 323 may be connected to the wired or wireless network equipment 310 and connected to the Internet 330 network. In this case, the blockchain controller 300 may be installed in the wired or wireless network equipment 310 to allow the wired or wireless network equipment 310 to operate as the blockchain controller. Accordingly, the wired or wireless network equipments 310 form a block chain network, and the user terminals 321, 322, and 323 are connected to the Internet 330 through the network equipment 310 by wire or wirelessly to the blockchain network. You can configure the system.

도 4는 본 발명에 따라 eNodeB 또는 무선 액세스 포인트에 블록 체인 컨트롤러가 위치하는 실시예를 설명하기 위한 도면이다.4 is a diagram illustrating an embodiment in which a block chain controller is located in an eNodeB or a wireless access point according to the present invention.

도 4를 참조하면, 일 실시예에 따른 블록 체인 시스템은 기존의 eNodeB 또는 무선 액세스 포인트(410)에 블록 체인 컨트롤러(400)를 설치하여 활용할 수 있다.Referring to FIG. 4, the blockchain system according to an embodiment may install and utilize a blockchain controller 400 in an existing eNodeB or a wireless access point 410.

일 실시예에 따르면, 사용자 단말들(421, 422)은 eNodeB 또는 무선 액세스 포인트(410)에 연결되어 네트워크(430)에 연결될 수 있다. 이때, 블록 체인 컨트롤러(400)를 eNodeB 또는 무선 액세스 포인트(410)에 설치하여 eNodeB 또는 무선 액세스 포인트(410)가 블록 체인 컨트롤러로 동작하도록 할 수 있다. 따라서, eNodeB 또는 무선 액세스 포인트(410)들끼리 블록 체인 네트워크를 형성하고, 사용자 단말들(421, 422)은 무선으로 eNodeB 또는 무선 액세스 포인트(410)를 통해 네트워크(430)에 연결되어 블록 체인 시스템을 구성할 수 있다. 이 경우 블록체인 컨트롤러(400)는 인터넷 없이도 블록 체인 시스템을 운영할 수 있도록, 무선 전화 통신망을 갖고 있는 이동통신 운영사에 의해 운영될 수 있다.According to an embodiment, the user terminals 421 and 422 may be connected to the eNodeB or the wireless access point 410 and to the network 430. In this case, the blockchain controller 400 may be installed in the eNodeB or the wireless access point 410 to allow the eNodeB or the wireless access point 410 to operate as a blockchain controller. Thus, the eNodeB or wireless access points 410 form a block chain network, and the user terminals 421, 422 are wirelessly connected to the network 430 via the eNodeB or wireless access point 410 to block network systems. Can be configured. In this case, the blockchain controller 400 may be operated by a mobile communication operator having a wireless telephone communication network so as to operate the blockchain system without the Internet.

일 실시예에 따르면, 셀룰러 네트워크 장비에 블록 체인 컨트롤러가 설치된 경우, 소프트웨어 프로토콜을 짤 수 있으므로 eNodeB 자체가 블록체인 컨트롤러의 기능을 가질 수 있다. 이때, 독립적인 서버나 PC가 필요 없이 네트워크 장비 하나에 블록 체인 컨트롤러가 통합되므로 공간과 에너지 측면에서 이익을 볼 수 있다.According to an embodiment, when the blockchain controller is installed in the cellular network equipment, since the software protocol can be written, the eNodeB itself may have a function of a blockchain controller. At this point, the blockchain controller is integrated into one network device without the need for an independent server or PC, which can benefit from space and energy.

일 실시예에 따른 블록 체인 컨트롤러를 사용하는 경우, 사용자 단말끼리 바로 연결되는 것이 아니라 블록 체인 컨트롤러의 제어를 받기 때문에 물리적인 갭을 줄일 수 있다.In the case of using the blockchain controller according to an exemplary embodiment, the physical gap may be reduced since the user terminals are not directly connected to each other but are controlled by the blockchain controller.

도 5는 본 발명의 실시 예에 따른 블록 체인 시스템과 블록 체인 컨트롤러를 설명하기 위한 도면이다.5 is a diagram illustrating a blockchain system and a blockchain controller according to an exemplary embodiment of the present invention.

도 5를 참조하면, 블록 체인 시스템은 제1 사용자 단말들(511, 512, 513), 제1 노드(510), 네트워크(500), 제2 노드(520) 및 제2 사용자 단말들(521, 522, 523)로 구성될 수 있다. Referring to FIG. 5, the block chain system includes first user terminals 511, 512, and 513, a first node 510, a network 500, a second node 520, and second user terminals 521, 522 and 523.

이때, 제1 노드(510)와 제2 노드(520)는 네트워크(500)를 통해 연결될 수 있다. 여기서 네트워크(500)는 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 포함할 수 있다. 또한, 네트워크(500)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 네트워크(500)는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.In this case, the first node 510 and the second node 520 may be connected through the network 500. The network 500 may be, for example, a cellular communication protocol, and may include, for example, at least one of LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, or GSM. In addition, the network 500 may be configured without regard to communication modes such as wired and wireless, and may include a personal area network (PAN), a local area network (LAN), and a metropolitan area (MAN). Network, a wide area network (WAN), and the like. In addition, the network 500 may be a well-known World Wide Web (WWW), or may use a wireless transmission technology used for short-range communication such as an infrared data association (IrDA) or Bluetooth. .

또한, 네트워크(500)는 근거리 무선 통신을 포함할 수 있으며, 예컨대, WiFi(wireless fidelity), LiFi(light fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(ZigBee), NFC(near field communication), 또는 자력 시큐어 트랜스미션(magnetic secure transmission) 중 적어도 하나를 포함할 수 있다.In addition, the network 500 may include short-range wireless communication, for example, wireless fidelity (WiFi), light fidelity (LiFi), Bluetooth, Bluetooth low power (BLE), ZigBee, near field communication (NFC), Or it may include at least one of magnetic secure transmission (magnetic secure transmission).

일 실시예에 따르면, 제1 노드(510)와 제2 노드(520)는 클라우드 서버, eNodeB, 무선 액세스 포인트, 및 유/무선 네트워크 장비 중 적어도 하나가 될 수 있다.According to an embodiment, the first node 510 and the second node 520 may be at least one of a cloud server, an eNodeB, a wireless access point, and wired / wireless network equipment.

일 실시예에 따른 블록 체인 시스템은 적어도 하나의 사용자 단말(511, 512, 513)이 연결된 노드(510)를 포함할 수 있다. 이때, 노드(510)는 적어도 하나 이상의 다른 노드(520)와 블록 체인 네트워크를 형성할 수 있다. The blockchain system according to an embodiment may include a node 510 to which at least one user terminal 511, 512, 513 is connected. In this case, the node 510 may form a blockchain network with at least one other node 520.

제1 사용자 단말(511)과 제2 사용자 단말(521) 간의 거래 업무를 가정해보면, 제1 사용자 단말(511)은 제2 사용자 단말(521)로의 연결을 제1 노드(510)에 요청할 수 있다. 이때, 제1 노드(510) 및 제2 노드(520)는 각각에 연결된 제1 사용자 단말(511)과 제2 사용자 단말(521)을 검증하고, 가상의 거래 경로를 셋업할 수 있다. 제1 사용자 단말(511)과 제2 사용자 단말(521) 간의 거래 업무가 종료되면, 제1 사용자 단말(511)과 제2 사용자 단말(521)은 각각의 연결된 제1 노드(510) 및 제2 노드(520)에 거래 종료를 보고할 수 있다. 제1 노드(510) 및 제2 노드(520)는 제1 사용자 단말(511)과 제2 사용자 단말(521) 간의 거래(TRANSACTION) 데이터를 저장하고, 블록 체인 네트워크에 포함된 다른 노드들과 거래(TRANSACTION) 데이터의 동기화를 수행할 수 있다.Assuming a transaction task between the first user terminal 511 and the second user terminal 521, the first user terminal 511 may request the first node 510 to connect to the second user terminal 521. . In this case, the first node 510 and the second node 520 may verify the first user terminal 511 and the second user terminal 521 connected to each other, and set up a virtual transaction path. When the transaction work between the first user terminal 511 and the second user terminal 521 is finished, the first user terminal 511 and the second user terminal 521 are connected to each of the first node 510 and the second connected terminal. The transaction may be reported to node 520. The first node 510 and the second node 520 store transaction data between the first user terminal 511 and the second user terminal 521, and deal with other nodes included in the blockchain network. (TRANSACTION) Synchronize data.

일 실시예에 따르면, 제1 노드(510)는 검색 프로토콜(Discovery Protocol)을 이용해서 블록 체인 네트워크에 포함된 다른 노드인 제2 노드(520) 및 다른 사용자 단말(521, 522, 523)을 검색할 수 있다. 예를 들면, 효율적인 거래와 데이터 동기화를 위해 가장 가까운 사용자 단말과 노드를 검색하는데 동적 검색 프로토콜(dynamic discovery protocol)이 사용될 수 있다. 검색 프로토콜은 사용자 단말의 모빌리티를 허용한다.According to an embodiment, the first node 510 searches for the second node 520 and other user terminals 521, 522, and 523 which are other nodes included in the blockchain network by using a discovery protocol. can do. For example, a dynamic discovery protocol may be used to search for the closest user terminal and node for efficient transaction and data synchronization. The search protocol allows for mobility of the user terminal.

일 실시예에 따르면, 제1 노드(510)는 사용자 단말(511)의 인증 또는 검증 과정을 수행하고, 사용자 단말(511)과 다른 사용자 단말(521) 간의 거래(TRANSACTION) 경로를 셋업할 수 있다.According to an embodiment, the first node 510 may perform an authentication or verification process of the user terminal 511 and set up a transaction path between the user terminal 511 and another user terminal 521. .

일 실시예에 따르면, 제1 노드(510)는 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION)에 관련된 계산을 대신 수행할 수 있다. 예를 들면, 제1 노드(510)는 거래, 인증 검증 및 동기화와 관련된 모든 타입의 무거운 계산을 수행할 수 있다. 따라서, 사용자 단말(511)은 가벼운 작업만 수행하고 강력한 제1 노드(510)가 나머지 모든 계산을 수행할 수 있다.According to an embodiment, the first node 510 may perform a calculation related to a transaction between a user terminal and another user terminal instead. For example, the first node 510 may perform all types of heavy calculations related to transactions, authentication verification and synchronization. Therefore, the user terminal 511 may perform only a light task and the powerful first node 510 may perform all remaining calculations.

일 실시예에 따르면, 제1 노드(510)는 독립된 저장 공간을 가질 수 있다. 그리고, 제1 노드(510)는 제1 노드(510)에 연결된 사용자 단말(511, 512, 513)들의 거래 관련 데이터를 저장 공간에 저장할 수 있다. 또한 제1 노드(510)는 거래 관련 데이터를 블록 체인 네트워크를 형성하는 다른 노드들과 동기화할 수 있다.According to an embodiment, the first node 510 may have an independent storage space. In addition, the first node 510 may store transaction-related data of the user terminals 511, 512, and 513 connected to the first node 510 in a storage space. Also, the first node 510 may synchronize transaction related data with other nodes forming a blockchain network.

명확하게 도시하지 않았으나, 도 1 내지 도 5에 도시된 장치는 도 1 내지 도 5에 도시되지 않은 구성요소를 더 포함하거나 또는 도 1 내지 도 5에 도시된 일부 구성요소를 포함하지 않을 수 있다. 또한, 도 1 내지 도 5에 도시된 바와 다르게, 일부 구성요소가 복수의 세부적인 구성요소로 분리되거나, 복수의 구성요소가 하나의 구성요소로 결합되어 제공될 수도 있다.Although not explicitly shown, the apparatus illustrated in FIGS. 1 to 5 may further include components not shown in FIGS. 1 to 5, or may not include some components illustrated in FIGS. 1 to 5. 1 to 5, some of the components may be divided into a plurality of detailed components, or a plurality of components may be combined to be provided as one component.

명확하게 도시하지 않았으나, 도 1 내지 도 5에 도시된 바와 다르게, 각 장치는 물리적으로, 공간적으로 또는 기능적으로 구분된 복수의 서버로 분리되어 제공될 수 있다. 이 경우, 각각의 서버는 도 1 내지 도 5에 도시된 일부 구성요소를 포함하거나 포함하지 않을 수 있다.Although not explicitly shown, unlike FIG. 1 to FIG. 5, each device may be provided as a plurality of servers physically, spatially, or functionally divided. In this case, each server may or may not include some of the components shown in FIGS.

한편, 상기 장치의 각각의 구성요소들은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.On the other hand, the respective components of the device are separately shown in the drawings to indicate that they can be functionally and logically separated, and do not necessarily mean that they are physically separate components or implemented in separate code.

도 6은 본 발명의 실시 예에 따른 블록 체인 시스템의 노드가 수행하는 블록 체인 거래(TRANSACTION) 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a blockchain transaction (TRANSACTION) method performed by a node of a blockchain system according to an embodiment of the present invention.

단계(S610)에서, 블록 체인 시스템의 노드는 사용자 단말로부터 다른 사용자 단말과의 연결 요청을 수신할 수 있다.In operation S610, a node of the blockchain system may receive a connection request from another user terminal with another user terminal.

블록 체인 시스템의 노드는 검색 프로토콜(Discovery Protocol)을 이용해서 블록 체인 네트워크에 포함된 다른 노드 및 다른 사용자 단말을 검색할 수 있다. 예를 들면, 효율적인 거래와 데이터 동기화를 위해 가장 가까운 사용자 단말과 노드를 검색하는데 동적 검색 프로토콜(dynamic discovery protocol)이 사용될 수 있다.Nodes of the blockchain system may search for other nodes and other user terminals included in the blockchain network using a discovery protocol. For example, a dynamic discovery protocol may be used to search for the closest user terminal and node for efficient transaction and data synchronization.

일실시예에 따르면, 노드는, 클라우드 서버, eNodeB, 무선 액세스 포인트, 및 유/무선 네트워크 장비 중 적어도 하나가 될 수 있다.According to an embodiment, the node may be at least one of a cloud server, an eNodeB, a wireless access point, and wired / wireless network equipment.

단계(S620)에서, 블록 체인 시스템의 노드는 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION) 경로를 셋업할 수 있다.In operation S620, the node of the blockchain system may set up a transaction path between the user terminal and another user terminal.

블록 체인 시스템의 노드는 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION)에 관련된 계산을 대신 수행할 수 있다. 예를 들면, 노드는 거래, 인증 검증 및 동기화와 관련된 모든 타입의 무거운 계산을 수행할 수 있다. 따라서, 사용자 단말은 가벼운 작업만 수행하고 강력한 노드가 나머지 모든 계산을 수행할 수 있다.Nodes of the blockchain system may instead perform calculations relating to a transaction (TRANSACTION) between a user terminal and another user terminal. For example, a node can perform all types of heavy calculations related to transactions, certificate verification, and synchronization. Thus, the user terminal can only perform light tasks and the powerful node can perform all remaining calculations.

단계(S630)에서, 블록 체인 시스템의 노드는 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION)와 관련된 데이터를 저장할 수 있다.In operation S630, the node of the blockchain system may store data related to a transaction (TRANSACTION) between the user terminal and another user terminal.

단계(S640)에서, 블록 체인 시스템의 노드는 블록 체인 네트워크를 형성하는 다른 노드와 거래(TRANSACTION)와 관련된 데이터를 동기화할 수 있다.In step S640, the node of the blockchain system may synchronize data related to the transaction (TRANSACTION) with other nodes forming the blockchain network.

도 7은 본 발명의 실시 예에 따른 블록 체인 시스템의 각 구성 요소가 수행하는 블록 체인 거래(TRANSACTION) 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a blockchain transaction (TRANSACTION) method performed by each component of a blockchain system according to an embodiment of the present invention.

도 7을 참조하면, 블록 체인 시스템은 제1 종단 단말(511), 제1 노드(510), 제2 노드(520) 및 제2 종단 단말(521)로 구성될 수 있다.Referring to FIG. 7, the block chain system may include a first end terminal 511, a first node 510, a second node 520, and a second end terminal 521.

이때, 제1 노드(510)와 제2 노드(520)는 네트워크를 통해 연결될 수 있다. 여기서 네트워크는 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 포함할 수 있다. In this case, the first node 510 and the second node 520 may be connected through a network. The network may be, for example, a cellular communication protocol, and may include, for example, at least one of LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, or GSM.

일 실시예에 따르면, 제1 노드(510)와 제2 노드(520)는 클라우드 서버, eNodeB, 무선 액세스 포인트, 및 유/무선 네트워크 장비 중 적어도 하나가 될 수 있다.According to an embodiment, the first node 510 and the second node 520 may be at least one of a cloud server, an eNodeB, a wireless access point, and wired / wireless network equipment.

일 실시예에 따르면, 제1 노드(510)와 제2 노드(520)는 블록 체인 네트워크를 형성할 수 있다.According to an embodiment, the first node 510 and the second node 520 may form a block chain network.

제1 종단 단말(511)과 제2 종단 단말(521) 간의 거래 업무를 가정해보면, 단계(S710)에서, 제1 종단 단말(511)은 제2 종단 단말(521)로의 연결을 제1 노드(510)에 요청할 수 있다. Assuming a transaction task between the first end terminal 511 and the second end terminal 521, in step S710, the first end terminal 511 connects to the second end terminal 521. 510).

단계(S720)에서, 제1 노드(510)는 검색 프로토콜(Discovery Protocol)을 이용해서 블록 체인 네트워크에 포함된 다른 노드인 제2 노드(520) 및 제2 종단 단말(521)을 검색할 수 있다. 예를 들면, 효율적인 거래와 데이터 동기화를 위해 가장 가까운 종단 단말과 노드를 검색하는데 동적 검색 프로토콜(dynamic discovery protocol)이 사용될 수 있다.In operation S720, the first node 510 may search for the second node 520 and the second end terminal 521 which are other nodes included in the blockchain network using a discovery protocol. . For example, a dynamic discovery protocol may be used to search for the closest end terminal and node for efficient transaction and data synchronization.

단계(S731, S732)에서, 제1 노드(510) 및 제2 노드(520)는 각각에 연결된 제1 종단 단말(511)과 제2 종단 단말(521)을 검증할 수 있다. 즉, 제1 노드(510) 및 제2 노드(520)는 각각에 연결된 제1 종단 단말(511)과 제2 종단 단말(521)이 안전한 종단 단말인지 검증할 수 있다.In steps S731 and S732, the first node 510 and the second node 520 may verify the first end terminal 511 and the second end terminal 521 connected to each other. That is, the first node 510 and the second node 520 may verify whether the first end terminal 511 and the second end terminal 521 connected to each of the first and second nodes 510 and 520 are safe end terminals.

단계(S740)에서, 제1 노드(510)는 제1 종단 단말(511)과 제2 종단 단말(521)간의 거래(TRANSACTION)를 위해 가상의 거래 경로를 셋업할 수 있다.In operation S740, the first node 510 may set up a virtual transaction path for a transaction (TRANSACTION) between the first end terminal 511 and the second end terminal 521.

일 실시예에 따르면, 제1 노드(510)는 제1 종단 단말(511)과 제2 종단 단말(521)간의 거래(TRANSACTION)에 관련된 계산을 대신 수행할 수 있다. 예를 들면, 제1 노드(510)는 거래, 인증 검증 및 동기화와 관련된 모든 타입의 무거운 계산을 수행할 수 있다. 따라서, 제1 종단 단말(511)은 가벼운 작업만 수행하고 강력한 제1 노드(510)가 나머지 모든 계산을 수행할 수 있다.According to an embodiment of the present disclosure, the first node 510 may perform calculation related to a transaction (TRANSACTION) between the first end terminal 511 and the second end terminal 521 instead. For example, the first node 510 may perform all types of heavy calculations related to transactions, authentication verification and synchronization. Accordingly, the first end terminal 511 may perform only a light task and the strong first node 510 may perform all remaining calculations.

제1 종단 단말(511)과 제2 종단 단말(521) 간의 거래 업무가 종료되면, 제1 종단 단말(511)과 제2 종단 단말(521)은 각각의 연결된 제1 노드(510) 및 제2 노드(520)에 거래 종료를 보고할 수 있다. When the transaction work between the first end terminal 511 and the second end terminal 521 is terminated, the first end terminal 511 and the second end terminal 521 are connected to the first node 510 and the second connected terminal, respectively. The transaction may be reported to node 520.

단계(S750)에서, 제1 노드(510) 및 제2 노드(520)는 제1 종단 단말(511)과 제2 종단 단말(521) 간의 거래(TRANSACTION) 데이터를 저장할 수 있다. 일 실시예에 따르면, 제1 노드(510)는 독립된 저장 공간을 가질 수 있다. 그리고, 제1 노드(510)는 제1 노드(510)에 연결된 제1 종단 단말(511)의 거래 관련 데이터를 저장 공간에 저장할 수 있다.In operation S750, the first node 510 and the second node 520 may store transaction data between the first end terminal 511 and the second end terminal 521. According to an embodiment, the first node 510 may have an independent storage space. The first node 510 may store transaction related data of the first end terminal 511 connected to the first node 510 in a storage space.

단계(S760)에서, 제1 노드(510) 및 제2 노드(520)는 블록 체인 네트워크에 포함된 다른 노드들과 거래(TRANSACTION) 데이터의 동기화를 수행할 수 있다.In operation S760, the first node 510 and the second node 520 may perform synchronization of transaction data with other nodes included in the blockchain network.

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

이상으로, 본 발명의 실시 예에 따른 시스템, 장치 및 방법을 상세히 설명하였다. 전술한 본 발명의 실시 예에서는 사용자 단말을 예를 들어 설명하였으나 어떠한 전자 장치에도 동일하게 적용할 수 있다. 이하, 본 발명의 실시 예에 따른 사용자 단말들을 포함하여 변형 가능한 다양한 전자 장치의 구현 예를 설명한다.In the above, the system, apparatus and method according to an embodiment of the present invention has been described in detail. In the above-described embodiment of the present invention, the user terminal is described as an example, but the same may be applied to any electronic device. Hereinafter, an example of implementation of various deformable electronic devices including user terminals according to an embodiment of the present disclosure will be described.

본 발명의 다양한 실시 예들에 따른 사용자 단말은, 예를 들면 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.A user terminal according to various embodiments of the present disclosure may be, for example, a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, and a desktop. Desktop personal computer (PC), laptop personal computer (PC), netbook computer, workstation, server, personal digital assistant (PDA), portable multimedia player (PMP), MP3 player, mobile medical device , Cameras, or wearable devices (e.g. smart glasses, head-mounted-device (HMD), electronic clothing, electronic bracelets, electronic necklaces, electronic accessories, It may include at least one of an electronic tattoo, a smart mirror, or a smart watch.

본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.The present invention has been described above with the aim of method steps indicative of the performance of certain functions and their relationships. The boundaries and order of these functional components and method steps have been arbitrarily defined herein for convenience of description. Alternative boundaries and orders may be defined so long as the specific functions and relationships are properly performed. Any such alternative boundaries and orders are therefore within the scope and spirit of the claimed invention. In addition, the boundaries of these functional components have been arbitrarily defined for ease of explanation. Alternative boundaries may be defined so long as any important functions are performed properly. Likewise, flowchart blocks may also be arbitrarily defined herein to represent any important functionality. For extended use, the flowchart block boundaries and order may have been defined and still perform some important function. Alternative definitions of both functional components and flowchart blocks and sequences are therefore within the scope and spirit of the claimed invention.

본 발명은 또한 하나 이상의 실시 예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시 예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시 예는 여기에 설명된 하나 이상의 실시 예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시 예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.The invention may also be described, at least in part, in terms of one or more embodiments. Embodiments of the invention are used herein to illustrate the invention, aspects thereof, features thereof, concepts thereof, and / or examples thereof. Physical embodiments of apparatus, articles of manufacture, machines, and / or processes embodying the present invention may be described in terms of one or more aspects, features, concepts, examples, etc. described with reference to one or more embodiments described herein. It may include. Moreover, in the entire drawing, embodiments may incorporate the same or similarly named functions, steps, modules, etc. that may use the same or different reference numbers, and as such, the functions, The steps, modules, etc. may be the same or similar functions, steps, modules, etc. or others.

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

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

500 : 네트워크
510 : 제1 노드
511, 512, 513 : 제1 사용자 단말
520 : 제2 노드
521, 522, 523 : 제2 사용자 단말
500: network
510: first node
511, 512, 513: first user terminal
520: second node
521, 522, 523: second user terminal

Claims (9)

적어도 하나의 사용자 단말이 연결된 노드를 포함하는 블록 체인 시스템에 있어서,
상기 노드는,
제1 종단 단말과 연결된 제1 노드; 및
제2 종단 단말과 연결된 제2 노드;를 포함하며,
상기 노드는,
적어도 하나 이상의 다른 노드와 블록 체인 네트워크를 형성하고, 상기 사용자 단말의 거래(TRANSACTION) 데이터를 저장하고, 상기 블록 체인 네트워크에 포함된 다른 노드와 상기 거래(TRANSACTION) 데이터의 동기화를 수행하며, 상기 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION)에 관련된 계산을 대신 수행하되,
상기 노드는,
네트워크 장비를 블록 체인으로 구성하는 블록 체인 컨트롤러이고,
상기 제1 노드는,
상기 제1 종단 단말로부터 연결요청을 받으면, 상기 제2 노드 및 상기 제2 종단 단말을 검색하며,
상기 제1 노드는,
상기 제1 종단 단말을 검증하며, 상기 제1 종단 단말과 상기 제2 종단 단말간의 거래를 위해 가상의 거래 경로를 셋업하고,
상기 제2 노드는
상기 제2 종단 단말을 검증하며,
상기 제1 종단 단말과 상기 제2 종단 단말간의 거래 업무가 종료되면, 상기 제1 및 제2 종단 단말은 상기 제1 및 제2 노드에 거래 종료를 보고하는 것인 블록 체인 시스템.
In a blockchain system including a node to which at least one user terminal is connected,
The node is,
A first node connected to the first end terminal; And
A second node connected with a second end terminal;
The node is,
Form a blockchain network with at least one other node, store transaction data of the user terminal, perform synchronization of the transaction data with other nodes included in the blockchain network, and the user The calculation related to the transaction (TRANSACTION) between the terminal and another user terminal is performed instead,
The node is,
Is a blockchain controller that organizes network equipment into blockchains,
The first node,
Upon receiving a connection request from the first end terminal, the second node and the second end terminal are searched for;
The first node,
Verify the first end terminal, establish a virtual transaction path for a transaction between the first end terminal and the second end terminal,
The second node is
Verifying the second end terminal,
And when the transaction task between the first end terminal and the second end terminal ends, the first and second end terminals report the end of the transaction to the first and second nodes.
제1항에 있어서,
상기 노드는,
클라우드 서버, eNodeB, 무선 액세스 포인트, 및 유/무선 네트워크 장비 중 적어도 하나인 블록 체인 시스템.
The method of claim 1,
The node is,
A block chain system that is at least one of a cloud server, an eNodeB, a wireless access point, and wired / wireless network equipment.
제1항에 있어서,
상기 노드는,
검색 프로토콜(Discovery Protocol)을 이용해서 상기 블록 체인 네트워크에 포함된 다른 노드 및 다른 사용자 단말을 검색하는 블록 체인 시스템.
The method of claim 1,
The node is,
A blockchain system for searching for other nodes and other user terminals included in the blockchain network by using a discovery protocol.
삭제delete 삭제delete 적어도 하나의 사용자 단말이 연결된 복수의 노드가 수행하는 블록 체인 거래(TRANSACTION) 방법에 있어서,
제1 노드가 제1 종단 단말로부터 제2 종단 단말과의 연결 요청을 수신하는 단계;
상기 연결 요청을 받으면 상기 제1 노드가 제2 노드 및 상기 제2 종단 단말을 검색하는 단계;
상기 제1 노드는 상기 제1 종단 단말을 검증하고, 상기 제2 노드는 상기 제2 종단 단말을 검증하는 단계;
상기 제1 노드는 상기 제1 종단 단말과 상기 제2 종단 단말 간의 가상의 거래(TRANSACTION) 경로를 셋업하는 단계;
상기 제1 및 제2 노드는 상기 제1 및 제2 종단 단말 간의 거래(TRANSACTION)와 관련된 데이터를 저장하는 단계;
상기 제1 및 제2 노드는 상기 제1 및 제2 노드와 블록 체인 네트워크를 형성하는 다른 노드와 상기 거래(TRANSACTION)와 관련된 데이터를 동기화하는 단계;
상기 제1 및 제2 노드는 상기 사용자 단말과 다른 사용자 단말 간의 거래(TRANSACTION)에 관련된 계산을 대신 수행하는 단계; 및
상기 제1 종단 단말과 상기 제2 종단 단말간의 거래 업무가 종료되면, 상기 제1 및 제2 종단 단말은 각각 연결된 상기 제1 및 제2 노드에 거래 종료를 보고하는 단계;를 포함하며,
상기 노드는,
네트워크 장비를 블록 체인으로 구성하는 블록 체인 컨트롤러인 것인 블록 체인 거래 방법.
In the block chain transaction (TRANSACTION) method performed by a plurality of nodes connected to at least one user terminal,
Receiving, by the first node, a connection request from the first end terminal to the second end terminal;
Receiving, by the first node, a second node and the second end terminal upon receiving the connection request;
Verifying the first end terminal by the first node and verifying the second end terminal by the second node;
The first node setting up a virtual transaction path between the first end terminal and the second end terminal;
The first and second nodes storing data related to a transaction (TRANSACTION) between the first and second end terminals;
The first and second nodes synchronizing data related to the transaction with other nodes forming a blockchain network with the first and second nodes;
The first and second nodes instead performing calculations relating to a transaction between the user terminal and another user terminal; And
And when the transaction service between the first end terminal and the second end terminal ends, the first and second end terminals report the end of the transaction to the connected first and second nodes, respectively.
The node is,
Blockchain transaction method that is a blockchain controller that organizes network equipment into a blockchain.
제6항에 있어서,
상기 노드는,
클라우드 서버, eNodeB, 무선 액세스 포인트, 및 유/무선 네트워크 장비 중 적어도 하나인 블록 체인 거래 방법.
The method of claim 6,
The node is,
A block chain transaction method, which is at least one of a cloud server, an eNodeB, a wireless access point, and wired / wireless network equipment.
제6항에 있어서,
상기 블록 체인 거래 방법은,
검색 프로토콜(Discovery Protocol)을 이용해서 상기 블록 체인 네트워크에 포함된 다른 노드 및 다른 사용자 단말을 검색하는 단계;를 더 포함하는 블록 체인 거래 방법.
The method of claim 6,
The blockchain trading method,
Searching for other nodes and other user terminals included in the blockchain network using a discovery protocol.
삭제delete
KR1020170168696A 2017-12-08 2017-12-08 Block chain system architecture and method KR102030905B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170168696A KR102030905B1 (en) 2017-12-08 2017-12-08 Block chain system architecture and method
PCT/KR2018/013566 WO2019112193A1 (en) 2017-12-08 2018-11-08 Block-chain system architecture and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170168696A KR102030905B1 (en) 2017-12-08 2017-12-08 Block chain system architecture and method

Publications (2)

Publication Number Publication Date
KR20190068374A KR20190068374A (en) 2019-06-18
KR102030905B1 true KR102030905B1 (en) 2019-10-10

Family

ID=67103371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170168696A KR102030905B1 (en) 2017-12-08 2017-12-08 Block chain system architecture and method

Country Status (1)

Country Link
KR (1) KR102030905B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102230764B1 (en) * 2019-07-01 2021-03-19 건국대학교 산학협력단 Method for storing blockchain based file modification evidence and appratus using the same
KR102300191B1 (en) * 2019-09-09 2021-09-08 주식회사 엘지유플러스 Method and server of updating block in blockchain for content
KR102531376B1 (en) * 2022-08-01 2023-05-12 (주)트라이언아이앤씨 System for monitoring information security and network security based on network connection and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678795B1 (en) * 2015-11-30 2016-11-22 전삼구 Iot-basesd things management system and method using block chain authentification
JP2017091149A (en) 2015-11-09 2017-05-25 日本電信電話株式会社 Block chain generator, block chain generation method, block chain verifier, block chain verification method, and program
KR101763827B1 (en) * 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 System, method and program for transmitting health data by block-chain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140018963A (en) * 2011-03-31 2014-02-13 톰슨 라이센싱 Method for data cache in a gateway

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091149A (en) 2015-11-09 2017-05-25 日本電信電話株式会社 Block chain generator, block chain generation method, block chain verifier, block chain verification method, and program
KR101678795B1 (en) * 2015-11-30 2016-11-22 전삼구 Iot-basesd things management system and method using block chain authentification
KR101763827B1 (en) * 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 System, method and program for transmitting health data by block-chain

Also Published As

Publication number Publication date
KR20190068374A (en) 2019-06-18

Similar Documents

Publication Publication Date Title
TWI688914B (en) Distributed transaction processing and authentication system
CA3011600C (en) Information transaction infrastructure
CN109299336A (en) Data back up method, device, storage medium and calculating equipment
CN108805570A (en) Data processing method, device and storage medium
KR101986081B1 (en) Method for sharing and verifing a block between specific nodes in a blockchain
KR102030905B1 (en) Block chain system architecture and method
EP3200138A1 (en) Digital asset conversion
JP6858264B2 (en) White list of smart contracts
CN110400221A (en) Data processing method, system, storage medium and computer equipment
JP2019106180A (en) Method of operating resource by one of plurality of nodes communicating with one another through network, and computer apparatus operating as any one of plurality of nodes communicating with one another through network
CN108022090B (en) Virtual account management method, device, system and readable storage medium
CN108985934A (en) Block chain amending method and device
US11030213B2 (en) Transforming data structures and data objects for migrating data between databases having different schemas
Alizadeh et al. Efficient decentralized data storage based on public blockchain and IPFS
KR101968424B1 (en) System and method for processing an authentication using block chain controller
CN114586314A (en) Block chain transaction control based on private key management
JP2023542681A (en) Integrating device identity into blockchain permission frameworks
KR20210102470A (en) A method and system for verifying blockchain data stored in a storage format different from that of the blockchain.
KR102181098B1 (en) System and method for distributed database using block chain
EP3902227A1 (en) Method for sharing and verifying blocks and electronic documents between nodes in blockchain
CN111597264A (en) Block chain accounting method and device
JP2022054439A (en) Payment method and system for central bank digital currency
KR102287729B1 (en) System and method for managing user information based on blockchain
Ivanov et al. System-wide security for offline payment terminals
Bennink et al. An analysis of atomic swaps on and between ethereum blockchains using smart contracts

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant