KR102391187B1 - Method and system for recording feedback data - Google Patents
Method and system for recording feedback data Download PDFInfo
- Publication number
- KR102391187B1 KR102391187B1 KR1020210163611A KR20210163611A KR102391187B1 KR 102391187 B1 KR102391187 B1 KR 102391187B1 KR 1020210163611 A KR1020210163611 A KR 1020210163611A KR 20210163611 A KR20210163611 A KR 20210163611A KR 102391187 B1 KR102391187 B1 KR 102391187B1
- Authority
- KR
- South Korea
- Prior art keywords
- feedback information
- information
- nodes
- block chain
- node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 피드백 정보 블록체인 기록 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 외부 서버로부터 소정의 피드백 정보 전달받아 블록체인에 기록하기 위한 피드백 정보 블록체인 기록 방법 및 시스템에 관한 것이다.The present invention relates to a feedback information block chain recording method and system, and more particularly, to a feedback information block chain recording method and system for receiving predetermined feedback information from an external server and recording it in a block chain.
블록체인(block chain)은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다.In a block chain, small-scale data called 'blocks' are stored in a chain-type, link-based distributed data storage environment created based on the P2P method, so that no one can arbitrarily modify it, and anyone can see the result of the change. It is a ledger management technology based on distributed computing technology that can be viewed.
이는 근본적으로 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다.This is fundamentally a form of distributed data storage technology, and it is a change list that records continuously changing data in all participating nodes, and is designed to prevent arbitrary manipulation by the operator of the distributed node.
그러나, 이러한 블록체인 시스템도 기술적 제약이 있다.However, such a blockchain system also has technical limitations.
예를 들어, 블록체인 시스템은 외부 시스템과 능동적으로 연동될 수 없으며, 주체적으로 데이터를 기록하는 것이 어렵다.For example, a blockchain system cannot actively work with external systems, and it is difficult to record data independently.
한편, 이러한 한계를 극복하고자 오라클(oracle)이 고안되었다.On the other hand, oracle was devised to overcome this limitation.
오라클은 블록체인 외부의 데이터를 블록체인 안으로 들여오고, 블록체인의 데이터를 외부로 내보내는 것을 말한다. 오라클은 고립된 블록체인 생태계를 외부와 연결 시켜주는 하나의 다리(bridge) 역할을 한다.Oracle refers to bringing data from the block chain into the block chain and exporting the data from the block chain to the outside. Oracle acts as a bridge that connects the isolated blockchain ecosystem with the outside world.
그러나, 오라클 시스템을 통해서 블록체인과 외부 시스템과의 연동은 가능해졌으나, 외부 시스템에서 입력되는 데이터의 검증이 이루어지지 않아 데이터의 신뢰성을 보장할 수 없는 한계가 있다.However, although interlocking between the block chain and external systems is possible through the Oracle system, there is a limitation in that data reliability cannot be guaranteed because data input from the external system is not verified.
한편, 대한민국 등록특허 제10-2288776 B1 (2021.08.05)호에서는 블록체인의 거래검증시스템, 및 블록체인의 거래검증방법을 개시하고 있으나, 이 역시 외부정보에 대한 검증이 이루어지지 않는 한계가 있다.On the other hand, Korean Patent Registration No. 10-2288776 B1 (2021.08.05) discloses a blockchain transaction verification system and a blockchain transaction verification method, but this also has a limitation in that external information is not verified. .
본 발명은 상기와 같은 문제를 해결하기 위한 것으로서, 외부 서버로부터 소정의 피드백 정보를 블록체인에 기록하는 과정에서 피드백 정보의 신뢰성을 확보할 수 있는 피드백 정보 블록체인 기록 방법 및 시스템을 제공하고자 함이다.The present invention is to solve the above problems, and to provide a feedback information block chain recording method and system that can secure the reliability of the feedback information in the process of recording predetermined feedback information from an external server to the block chain. .
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the above-mentioned problems, and the problems not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the present specification and the accompanying drawings. .
본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법은 외부 서버로부터 피드백 정보를 획득하여 블록체인에 기록하는 피드백 정보 블록체인 기록 방법에 관한 것으로서, 상기 외부 서버가 포함하는 암호화부가 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화하고, 상기 피드백 정보를 프록시로 전달하는 제1 단계; 트랜잭션 실행부가 상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하는 제2 단계; 상기 트랜잭션 실행부가 게이트웨이 및 원장기록부로 상기 피드백 정보를 기초로 한 트랜잭션 실행 피드백 정보를 전달하는 제3 단계; 상기 게이트웨이 및 상기 원장기록부가 상기 실행 피드백 정보를 미리 정해진 조건의 만족 여부로 검증하는 제4 단계; 및 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부가 블록체인에 상기 실행 피드백 정보를 기록하는 제5 단계;를 포함하며, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함할 수 있다.The feedback information block chain recording method according to an embodiment of the present invention relates to a feedback information block chain recording method for obtaining feedback information from an external server and recording it in a block chain, wherein an encryption unit included in the external server includes asymmetric key encryption and a first step of encrypting the feedback information using a method and transmitting the feedback information to a proxy; a second step of, by a transaction execution unit, obtaining the encrypted feedback information from the proxy and decrypting the feedback information; a third step of transmitting, by the transaction execution unit, transaction execution feedback information based on the feedback information to a gateway and a ledger recording unit; a fourth step of verifying, by the gateway and the ledger recorder, whether the execution feedback information is satisfied with a predetermined condition; and a fifth step of recording the execution feedback information in the block chain by the ledger recording unit when the predetermined condition is satisfied, wherein the transaction execution unit may include a plurality of nodes each having a unique identification ID .
본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법에 의하면, 외부 서버로부터 소정의 피드백 정보를 블록체인에 기록하는 과정에서 피드백 정보의 신뢰성을 확보할 수 있는 장점이 있다.According to the feedback information block chain recording method according to an embodiment of the present invention, there is an advantage in that the reliability of the feedback information can be secured in the process of recording predetermined feedback information from an external server in the block chain.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-described effects, and effects not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention pertains from the present specification and accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 구현하는 피드백 정보 블록체인 기록 시스템이 타 장치와 통신하는 것을 도시한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 구현하는 피드백 정보 블록체인 기록 시스템의 개략 구성도이다.
도 3는 본 발명의 다른 일 실시예에 따른 블록체인 외부 입력 검증 방법을 설명하기 위한 개략 구성도이다.
도 4는 본 발명의 또 다른 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 설명하기 위한 개략 구성도이다.
도 5는 본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 설명하기 위한 개략 구성도이다.1 is a schematic diagram illustrating a feedback information block chain recording system implementing a feedback information block chain recording method according to an embodiment of the present invention, communicating with another device.
2 is a schematic configuration diagram of a feedback information block chain recording system implementing a feedback information block chain recording method according to an embodiment of the present invention.
3 is a schematic configuration diagram for explaining a block chain external input verification method according to another embodiment of the present invention.
4 is a schematic configuration diagram for explaining a block chain external command output method using a secret sharing technique according to another embodiment of the present invention.
5 is a schematic configuration diagram for explaining a feedback information block chain recording method according to an embodiment of the present invention.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다. Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings. However, the spirit of the present invention is not limited to the presented embodiments, and those skilled in the art who understand the spirit of the present invention may add, change, delete, etc. other elements within the scope of the same spirit, and may use other degenerative inventions or the present invention. Other embodiments included within the scope of the invention may be easily proposed, but this will also be included within the scope of the invention.
본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법은 외부 서버로부터 피드백 정보를 획득하여 블록체인에 기록하는 피드백 정보 블록체인 기록 방법에 관한 것으로서, 상기 외부 서버가 포함하는 암호화부가 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화하고, 상기 피드백 정보를 프록시로 전달하는 제1 단계; 트랜잭션 실행부가 상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하는 제2 단계; 상기 트랜잭션 실행부가 게이트웨이 및 원장기록부로 상기 피드백 정보를 기초로 한 트랜잭션 실행 피드백 정보를 전달하는 제3 단계; 상기 게이트웨이 및 상기 원장기록부가 상기 실행 피드백 정보를 미리 정해진 조건의 만족 여부로 검증하는 제4 단계; 및 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부가 블록체인에 상기 실행 피드백 정보를 기록하는 제5 단계;를 포함하며, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함할 수 있다.The feedback information block chain recording method according to an embodiment of the present invention relates to a feedback information block chain recording method for obtaining feedback information from an external server and recording it in a block chain, wherein an encryption unit included in the external server includes asymmetric key encryption and a first step of encrypting the feedback information using a method and transmitting the feedback information to a proxy; a second step of, by a transaction execution unit, obtaining the encrypted feedback information from the proxy and decrypting the feedback information; a third step of transmitting, by the transaction execution unit, transaction execution feedback information based on the feedback information to a gateway and a ledger recording unit; a fourth step of verifying, by the gateway and the ledger recorder, whether the execution feedback information is satisfied with a predetermined condition; and a fifth step of recording the execution feedback information in the block chain by the ledger recording unit when the predetermined condition is satisfied, wherein the transaction execution unit may include a plurality of nodes each having a unique identification ID .
또, 상기 제2 단계는 복수의 상기 노드가 각각 상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하며, 상기 제3 단계는 복수의 상기 노드가 각각 상기 게이트웨이 및 상기 원장기록부로 상기 실행 피드백 정보를 전달할 수 있다.In the second step, the plurality of nodes each obtain the encrypted feedback information from the proxy and decrypt the feedback information, and in the third step, the plurality of the nodes send the gateway and the ledger recorder to the gateway, respectively. The execution feedback information may be transmitted.
또, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건일 수 있다.Also, the predetermined condition may be a condition in which the execution feedback information obtained from the plurality of nodes satisfies a predetermined agreement condition.
또, 상기 제3 단계는 복수의 상기 노드 각각이 상기 식별 ID 정보 및 상기 피드백 정보를 복호화한 복호 시점을 상기 게이트웨이 및 상기 원장기록부로 전달하고, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하여, 상기 복호 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.In addition, in the third step, each of the plurality of nodes transmits the decoding time point at which the identification ID information and the feedback information are decoded to the gateway and the ledger recorder, and the predetermined condition is obtained from the plurality of nodes. The execution feedback information may satisfy a preset agreement condition, so that the difference between the decoding time points may be less than or equal to a preset time difference.
본 발명의 다른 일 실시예에 따른 피드백 정보 블록체인 기록 시스템은 외부 서버로부터 피드백 정보를 획득하여 블록체인에 기록하는 피드백 정보 블록체인 기록 시스템에 관한 것으로서, 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화하고, 상기 피드백 정보를 프록시로 전달하는 암호화부; 상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하며, 상기 피드백 정보를 기초로 한 트랜잭션 실행 피드백 정보를 생성하는 트랜잭션 실행부; 및 상기 트랜잭션 실행부로부터 상기 실행 피드백 정보를 획득하고, 상기 실행 피드백 정보를 미리 정해진 조건의 만족 여부로 검증하는 원장기록부;를 포함하며, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함할 수 있다.The feedback information block chain recording system according to another embodiment of the present invention relates to a feedback information block chain recording system that obtains feedback information from an external server and records it in a block chain, and uses an asymmetric key cryptography and method to record the feedback information an encryption unit for encrypting and transmitting the feedback information to a proxy; a transaction execution unit that obtains the encrypted feedback information from the proxy, decrypts the feedback information, and generates transaction execution feedback information based on the feedback information; and a ledger recorder that obtains the execution feedback information from the transaction execution unit and verifies whether the execution feedback information satisfies a predetermined condition, wherein the transaction execution unit includes a plurality of nodes each having a unique identification ID. may include
또, 복수의 상기 노드 각각은 상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하며, 상기 원장기록부로 상기 실행 피드백 정보를 전달할 수 있다.In addition, each of the plurality of nodes may obtain the encrypted feedback information from the proxy, decrypt the feedback information, and transmit the execution feedback information to the ledger recording unit.
또, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건일 수 있다.Also, the predetermined condition may be a condition in which the execution feedback information obtained from the plurality of nodes satisfies a predetermined agreement condition.
또, 복수의 상기 노드 각각은 상기 식별 ID 정보 및 상기 피드백 정보를 복호화한 복호 시점을 상기 원장기록부로 전달하고, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하며, 상기 복호 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.In addition, each of the plurality of nodes transmits the decoding time point at which the identification ID information and the feedback information are decoded to the ledger recording unit, and the predetermined condition is a condition in which the execution feedback information obtained from the plurality of nodes is a preset agreement condition may be satisfied, and the difference between the decoding time points may be less than or equal to a preset time difference.
각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.Elements having the same function within the scope of the same idea shown in the drawings of each embodiment will be described using the same reference numerals.
도 1은 본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 구현하는 피드백 정보 블록체인 기록 시스템이 타 장치와 통신하는 것을 도시한 개략도이다.1 is a schematic diagram illustrating a feedback information block chain recording system implementing a feedback information block chain recording method according to an embodiment of the present invention, communicating with another device.
도 2는 본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 구현하는 피드백 정보 블록체인 기록 시스템의 개략 구성도이다.2 is a schematic configuration diagram of a feedback information block chain recording system implementing a feedback information block chain recording method according to an embodiment of the present invention.
도 3는 본 발명의 다른 일 실시예에 따른 블록체인 외부 입력 검증 방법을 설명하기 위한 개략 구성도이다.3 is a schematic configuration diagram for explaining a block chain external input verification method according to another embodiment of the present invention.
도 4는 본 발명의 또 다른 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 설명하기 위한 개략 구성도이다.4 is a schematic configuration diagram for explaining a block chain external command output method using a secret sharing technique according to another embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 설명하기 위한 개략 구성도이다.5 is a schematic configuration diagram for explaining a feedback information block chain recording method according to an embodiment of the present invention.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위하여, 본 발명의 기술적 사상과 관련성이 떨어지거나 당업자로부터 용이하게 도출될 수 있는 부분은 간략화 하거나 생략하였다.In the accompanying drawings, in order to more clearly express the technical spirit of the present invention, parts that are not related to the technical spirit of the present invention or that can be easily derived from those skilled in the art have been simplified or omitted.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated, and one or more other features However, it is to be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal or device in this specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the server.
이하에서는 도 1 내지 도 5를 참조하여 본 발명에 대해 자세히 설명하겠다.Hereinafter, the present invention will be described in detail with reference to FIGS. 1 to 5 .
우선, 본 발명의 일 실시예에 따른 블록체인 외부 입력 검증 방법은 블록체인(B)을 이용한 스마트 컨트랙트 방법 및 시스템 중 일부를 구성하는 구성요소일 수 있다.First, the block chain external input verification method according to an embodiment of the present invention may be a component constituting a part of the smart contract method and system using the block chain (B).
즉, 상기 스마트 컨트랙트 방법은 크게, 도3에 도시한 본 발명의 일 실시예에 따른 블록체인 외부 입력 검증 방법(단계), 도 4에 도시한 본 발명의 다른 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법(단계) 및 도 5에 도시한 본 발명의 또 다른 일 실시예에 따른 피드백 정보 블록체인 기록 방법(단계)를 포함할 수 있다.That is, the smart contract method is largely a block chain external input verification method (step) according to an embodiment of the present invention shown in FIG. 3, and a secret sharing technique according to another embodiment of the present invention shown in FIG. It may include a method (step) of outputting a block chain external command used and a method (step) of recording feedback information block chain according to another embodiment of the present invention shown in FIG. 5 .
일례로, 상기 블록체인 외부 입력 검증 방법(단계), 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법(단계) 및 상기 피드백 정보 블록체인 기록 방법(단계)은 시계열 순으로 순차적으로 구현되는 상기 스마트 컨트랙트 방법의 일 구성일 수 있다.As an example, the method (step) of verifying the external input of the block chain, the method of outputting a block chain external command using the secret sharing technique (step), and the method of recording the feedback information block chain (step) are implemented sequentially in time series. It may be one configuration of the contract method.
일례로, 상기 스마트 컨트랙트 방법은 상기 스마트 컨트랙트 시스템(10)에 의해 구현될 수 있다.As an example, the smart contract method may be implemented by the
일례로, 도 1 및 도 2에 도시한 바와 같이, 상기 스마트 컨트랙트 시스템(10)은 사용자의 전자장치(E), 외부 서버(S) 및 블록체인(B)과 통신할 수 있다.For example, as shown in FIGS. 1 and 2 , the
일례로, 상기 스마트 컨트랙트 시스템(10)은 사용자의 전자장치(E), 외부 서버(S) 및 블록체인(B)과 통신할 수 있는 통신부(200), 관리자로부터 소정의 데이터, 정보를 입력받는 입력부(300), 소정의 데이터, 정보를 저장하는 메모리부(400), 소정의 데이터, 정보를 디스플레이하는 디스플레이부(500) 및 상기 스마트 컨트랙트 방법을 구현하는데 필요한 정보를 연산, 제어, 처리하는 처리부(100)를 포함할 수 있다.As an example, the
여기서, 상기 처리부(100)는 아래에서 더욱 자세히 설명될 게이트웨이(110), 트랜잭션 실행부(120) 및 원장기록부(130)를 더 포함할 수 있다.Here, the
이하에서는, 도 3 내지 도 5를 참조하여, 상기 스마트 컨트랙트 방법을 구성하는 상기 블록체인 외부 입력 검증 방법(단계), 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법(단계) 및 상기 피드백 정보 블록체인 기록 방법(단계)을 자세히 설명하겠다.Hereinafter, with reference to FIGS. 3 to 5, the block chain external input verification method (step) constituting the smart contract method, the block chain external command output method (step) using the secret sharing technique, and the feedback information block The chain recording method (steps) will be described in detail.
1.One. 블록체인 외부 입력 검증 방법 및 시스템Blockchain external input verification method and system
도 3은 상기 스마트 컨트랙트 방법 중 일 구성인 상기 블록체인 외부 입력 검증 방법 및 시스템을 설명하기 위한 개략도이다.3 is a schematic diagram for explaining the block chain external input verification method and system, which is one component of the smart contract method.
상기 블록체인 외부 입력 검증 방법 및 시스템은 블록체인(B)에 입력(저장)할 정보(외부 입력 정보)가 올바른 정보인지를 외부 서버를 통해 확인/검증하기 위한 것이다.The block chain external input verification method and system are for checking/verifying whether the information to be input (stored) in the block chain (B) (external input information) is correct information through an external server.
일례로, 도 3에 도시한 바와 같이, 상기 블록체인 외부 입력 검증 방법은 게이트웨이(110)가 검증이 필요한 외부 입력에 대한 요청 정보를 획득하는 제1 단계(①)를 포함할 수 있다.For example, as shown in FIG. 3 , the block chain external input verification method may include a first step (①) in which the
일례로, 상기 요청 정보는 사용자가 자신의 전자장치(E)를 통해 상기 게이트웨이(110)로 입력하는 정보일 수 있다.For example, the request information may be information input by a user to the
일례로, 상기 요청 정보는 블록체인(B)에 입력(저장)할 정보로서, 진위여부의 검증이 필요한 정보일 수 있다.For example, the request information is information to be input (stored) in the block chain (B), and may be information that requires verification of authenticity.
예를 들어, 상기 요청 정보는 "사과는 과일이다."라는 정보일 수 있고, "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 정보일 수 있다.For example, the request information may be information such as "an apple is a fruit" and "If A is elected in an election, B transfers 1 million won to A".
여기서, 상기 요청 정보가 "사과는 과일이다"라는 정보인 경우 사과가 과일인지 진위여부에 대한 검증이 필요하며, "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 정보인 경우 A가 선거에서 당선이 되었는지 진위여부에 대한 검증이 필요할 수 있다.Here, if the requested information is "an apple is a fruit" information, verification of whether the apple is a fruit or not is necessary, and the information "If A is elected in the election, B transfers 1 million won to A" In this case, it may be necessary to verify the authenticity of whether A has been elected in the election.
일례로, 상기 제1 단계는 상기 게이트웨이(110)에 의해 구현될 수 있으며, 상기 게이트웨이(110)가 사용자로부터 검증이 필요한 요청 정보를 획득하여 구현될 수 있다.For example, the first step may be implemented by the
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 게이트웨이(110)가 트랜잭션 실행부(120)로 상기 요청 정보를 전달하는 제2 단계(②), 상기 트랜잭션 실행부(120)가 외부 서버(S)로 상기 요청 정보를 수행하기 위해 검증이 필요한 결과 정보를 요청하는 제3 단계(③) 및 상기 트랜잭션 실행부(120)가 상기 외부 서버(S)로부터 결과 정보를 획득하는 제4 단계(④)를 더 포함할 수 있다.Here, as an example, in the block chain external input verification method, the second step (②) in which the
일례로, 상기 트랜잭션 실행부(120)는 상기 외부 서버(S)와 통신하여 상기 외부 서버(S)로부터 상기 요청 정보를 수행하기 위해 검증이 필요한 결과 정보를 획득하는 구성일 수 있다.For example, the
즉, 상기 트랜잭션 실행부(120)는 상기 게이트웨이(110)로부터 상기 요청 정보를 전달받고, 상기 외부 서버(S)로 상기 요청 정보를 수행하기 위해 검증이 필요한 경우 상기 결과 정보를 요청하며, 상기 외부 서버(S)로부터 검증이 필요한 상기 요청 정보에 대한 결과인 상기 결과 정보를 획득하는 구성일 수 있다.That is, the
일례로, 상기 트랜잭션 실행부(120)는 상기 요청 정보가 "사과는 과일이다"라는 정보인 경우 상기 트랜잭션 실행부(120)는 상기 외부 서버(S)인 국가생물종지식정보시스템(예시)에 접속하여 상기 요청 정보에 대한 상기 결과 정보(예를 들어, "사과는 과일이다" 또는 "사과는 과일이 아니다")를 획득할 수 있고, 상기 요청 정보가 "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 정보인 경우 상기 트랜잭션 실행부(120)는 A가 선거에서 당선되었는지 여부를 상기 외부 서버(S)인 중앙선거관리위원회 시스템(예시)에 접속하여 상기 요청 정보에 대한 상기 결과 정보(예를 들어, "A가 선거에서 당선되었다" 또는 "A가 선거에서 당선되지 않았다")를 획득할 수 있다.For example, when the request information is information that the request information is “an apple is a fruit,” the
여기서, 일례로, 상기 트랜잭션 실행부(120)는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함할 수 있다.Here, as an example, the
도면에는, 상기 트랜잭션 실행부(120)가 제1 노드(EP1), 제2 노드(EP2) 및 제3 노드(EP3)인 총 3개의 노드를 포함하는 것으로 도시하였으나, 상기 트랜잭션 실행부(120)는 수십, 수백, 수천개의 노드를 포함할 수도 있다.Although the figure shows that the
복수의 상기 노드는 각각 다른 노드들과 다른 고유의 상기 식별 ID를 가질 수 있다.Each of the plurality of nodes may have a unique identification ID different from that of other nodes.
여기서, 상기 제2 단계는 상기 게이트웨이(110)가 복수의 상기 노드 각각에 병렬적으로 상기 요청 정보를 전달할 수 있다.Here, in the second step, the
즉, 상기 게이트웨이(110)는 수많은 상기 노드들 중에 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 상기 요청 정보를 전달할 수 있다.That is, the
이 때, 상기 게이트웨이(110)는 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 상기 요청 정보를 전달한다는 전달 정보(복수의 상기 노드들 중에서 어느 노드에 전달하는지에 대한 정보)를 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 전달할 수도 있다.At this time, the
또한, 상기 제3 단계는 복수의 상기 노드 각각이 상기 외부 서버(S)로 상기 요청 정보에 대한 상기 결과 정보 요청할 수 있다.In addition, in the third step, each of the plurality of nodes may request the result information for the request information from the external server S.
즉, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각은 상기 외부 서버(S)로 상기 요청 정보에 대한 상기 결과 정보를 요청할 수 있다.That is, each of the first node EP1 , the second node EP2 , and the third node EP3 may request the result information for the request information from the external server S.
또한, 상기 제4 단계는 복수의 상기 노드 각각이 상기 외부 서버(S)로부터 상기 결과 정보를 획득할 수 있다.In addition, in the fourth step, each of the plurality of nodes may obtain the result information from the external server S.
즉, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각은 상기 외부 서버(S)로 상기 요청 정보에 대한 상기 결과 정보를 획득할 수 있다.That is, each of the first node EP1 , the second node EP2 , and the third node EP3 may obtain the result information for the request information from the external server S.
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 트랜잭션 실행부(120)가 상기 게이트웨이(110) 및 원장기록부(130)로 상기 결과 정보를 기초로 한 트랜잭션 실행 결과 정보를 전달하는 제5 단계(⑤, ⑥)를 더 포함할 수 있다.Here, as an example, in the block chain external input verification method, in the fifth step, the
즉, 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 각각 상기 외부 서버(S)로부터 획득한 상기 결과 정보를 기초로하여 상기 실행 결과 정보를 생성할 수 있으며, 상기 실행 결과 정보를 상기 게이트웨이(110) 및 상기 상기 원장기록부(130)로 전달할 수 있다.That is, the first node EP1 , the second node EP2 , and the third node EP3 of the
예를 들어, 상기 실행 결과 정보는 "사과는 과일임을 확인하였다" 또는 "사과는 과일이 아님을 확인하였다"라는 정보일 수 있고, "A가 선거에서 당선되었음을 확인하였다" 또는 "A가 선거에서 당선되지 않았음을 확인하였다"라는 정보일 수 있고, 또는 "A가 선거에서 당선되었음이 확인되어 B에서 A로 100만원을 이체하도록 명령했다(또는 이체했다)" 또는 "A가 선거에서 당선되지 않았음이 확인되어 이체 명령을 하지 않았다"라는 정보일 수 있다.For example, the execution result information may be "confirmed that the apple is a fruit" or "confirmed that the apple is not a fruit" information, "confirmed that A has been elected in the election" or "A has confirmed that the I have confirmed that I have not been elected", or "It has been confirmed that A has been elected and ordered (or transferred) 1 million won from B to A" or "A has not been elected in the election. It was confirmed that there was no transfer order,” it may be information.
또한, 일례로, 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 각각 상기 결과 정보가 "사과는 과일이 아니다" 또는 "A가 선거에서 당선되지 않았다"라는 정보인 경우, 상기 실행 결과 정보를 생성하지 않을 수 있다. 그 결과, 상기 실행 결과 정보가 생성되지 않는다는 점에서, 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 상기 게이트웨이(110) 및 원장기록부(130)로 상기 실행 결과 정보를 전달하지 않을 수 있다.In addition, as an example, the first node EP1 , the second node EP2 , and the third node EP3 of the
여기서, 상기 트랜잭션 실행부(120)의 복수의 노드는 각각 상기 게이트웨이(110) 및 상기 원장기록부(130)로 상기 실행 결과 정보와 상기 식별 ID 정보를 포함하는 노드 정보를 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.Here, the plurality of nodes of the
여기서, 상기 노드 정보는 상기 식별 ID 정보 외에, 상기 외부 서버(S)로부터의 상기 결과 정보의 획득 시점에 대한 정보를 더 포함할 수 있다.Here, in addition to the identification ID information, the node information may further include information on a time point of obtaining the result information from the external server (S).
따라서, 상기 제5 단계는 복수의 상기 노드 각각이 상기 게이트웨이(110) 및 상기 원장기록부(130)로 상기 실행 결과 정보와 상기 식별 ID 정보 및 상기 획득 시점(상기 제4 단계에서의 상기 결과 정보의 획득 시점)을 포함하는 노드 정보를 전달할 수 있다.Accordingly, in the fifth step, each of the plurality of nodes sends the execution result information, the identification ID information, and the acquisition time (of the result information in the fourth step) to the
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하는 제6 단계를 더 포함할 수 있다.Here, as an example, the block chain external input verification method may further include a sixth step of verifying, by the
즉, 상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는지 여부를 판단할 수 있다.That is, each of the
여기서, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건일 수 있도 있고, 하나 이상의 특정 노드로부터 상기 실행 결과 정보가 포함되어야 하는 조건일 수 있다.Here, the predetermined condition may be a condition in which the execution result information obtained from the plurality of nodes is equal to or greater than a preset matching rate, or may be a condition in which the execution result information from one or more specific nodes should be included.
일례로, 상기 일치율은 관리자에 의해 미리 정해질 수 있으며, 100%, 50% 등으로 설정될 수 있다.For example, the matching rate may be predetermined by an administrator, and may be set to 100%, 50%, or the like.
다만, 설명의 편의를 위해 상기 일치율은 100%임으로 가정하겠다.However, for convenience of explanation, it is assumed that the coincidence rate is 100%.
상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 결과 정보의 일치율을 연산할 수 있다.Each of the
만약, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 결과 정보 모두가 "사과는 과일임을 확인하였다" 또는 "A가 선거에서 당선되었음이 확인되어 B에서 A로 100만원을 이체하도록 명령했다(또는 이체했다)"라는 정보인 경우 상기 실행 결과 정보의 일치율이 100%라는 점에서 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 것으로 판단될 수 있다.If all of the execution result information obtained from the first node EP1, the second node EP2, and the third node EP3 is “confirmed that the apple is a fruit” or “A has been elected in the election is confirmed and ordered (or transferred) to transfer 1 million won from B to A", it is determined that the execution result information satisfies the predetermined condition in that the matching rate of the execution result information is 100% can be
그러나, 만약 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 결과 정보 중 적어도 어느 하나가 다르거나, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 적어도 어느 하나로부터 기 설정된 시간 내에 상기 실행 결과 정보를 획득하지 못하는 경우상기 기 설정된 일치율 미만이라는 점에서 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하지 않는 것으로 판단될 수 있다.However, if at least one of the execution result information obtained from the first node EP1, the second node EP2, and the third node EP3 is different, or the first node EP1, the When the execution result information is not obtained from at least one of the second node EP2 and the third node EP3 within a predetermined time, the execution result information meets the predetermined condition in that it is less than the predetermined matching rate. may be judged to be unsatisfactory.
한편, 추가적으로 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상이며, 상기 획득 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.Meanwhile, the predetermined condition may be a condition in which the execution result information obtained from the plurality of nodes is equal to or greater than a preset matching rate, and the difference between the acquisition times is less than or equal to a preset time difference.
즉, 상기 미리 정해진 조건은 복수의 상기 노드로부터 각각 획득한 복수의 상기 실행 결과 정보가 기 설정된 일치율 이상인 동시에, 복수의 획득 시점 간의 시간 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.That is, the predetermined condition may be a condition in which the plurality of pieces of execution result information each obtained from the plurality of nodes is equal to or greater than a preset coincidence rate, and a time difference between a plurality of acquisition points is equal to or less than a preset time difference.
복수의 상기 노드 각각이 상기 외부 서버(S)에 접속하여 획득한 상기 결과 정보는 경우에 따라(상기 요청 정보의 의미에 따라) 상기 결과 정보를 획득한 시점의 차이에 의해 각각 달라질 수 있다.The result information obtained by each of the plurality of nodes by accessing the external server S may vary depending on a difference in time at which the result information is obtained in some cases (according to the meaning of the request information).
따라서, 보다 정확한 진위여부를 검증하기 위해, 상기 미리 정해진 조건은 복수의 획득 시점 간의 시간 차이가 기 설정된 시간 차이 이하인 동시에 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건일 수 있다.Accordingly, in order to more accurately verify authenticity, the predetermined condition may be a condition in which a time difference between a plurality of acquisition times is equal to or less than a predetermined time difference and the execution result information is equal to or greater than a predetermined coincidence rate.
여기서, 일례로, 상기 게이트웨이(110) 및 상기 원장기록부(130)는 상기 획득 시점의 차이가 기 설정된 시간 차이 이하를 만족하는지 여부를 먼저 판단하고, 이를 만족하지 않는다면 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인지 여부를 판단하지 않을 수 있다.Here, as an example, the
그 결과, 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 결과 정보가 기 설정된 일치율 이상인지 여부를 판단하는데 소요되는 부하를 최소화할 수 있다.As a result, the load required for the
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부(130)가 블록체인(B)에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 제7 단계를 더 포함할 수 있다.Here, as an example, in the block chain external input verification method, when the predetermined condition is satisfied, the
즉, 상기 원장기록부(130)는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 블록체인(B)에 상기 요청 정보 및/또는 상기 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하기 않는 경우 상기 요청 정보 및/또는 상기 실행 결과 정보를 삭제(파기)할 수 있다.That is, the
또한, 상기 게이트웨이(110)는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 이러한 사실 정보 및 블록체인(B)에 입력(기록)한 사실 정보를 사용자의 전자장치(E)로 전달할 수 있고, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달할 수 있다.In addition, when the execution result information satisfies the predetermined condition, the
여기서, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 경우, 앞서 설명한 상기 제3 단계, 상기 제4 단계, 상기 제5 단계, 상기 제 6 단계가 순차적으로 재 구현될 수 있다.Here, when the
한편, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 경우, 상기 게이트웨이(110)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 요청 정보를 전달할 수 있다.Meanwhile, when the
그 결과, 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 어느 하나가 비이상적 상황 발생 시, 다른 상기 노드들을 이용하여 상기 요청 정보에 대한 재 검증이 이루어질 수 있다.As a result, when any one of the previously transmitted first node EP1, the second node EP2, and the third node EP3 occurs in an abnormal situation, the request information is re-reviewed using the other nodes. Verification can be done.
2.2. 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템Method and system for outputting commands outside of blockchain using secret sharing technique
도 4는 상기 스마트 컨트랙트 방법 중 일 구성인 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템을 설명하기 위한 개략도이다.4 is a schematic diagram for explaining a block chain external command output method and system using the secret sharing technique, which is one of the smart contract methods.
앞서 설명한 상기 블록체인 외부 입력 검증 방법 및 시스템과 중복되거나 당업자의 입장에서 용이하게 유추할 수 있는 것은 그 설명을 생략하거나 간략히 하겠다.Those that overlap with the above-described blockchain external input verification method and system or that can be easily inferred from a person skilled in the art will be omitted or simplified.
상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템은 외부 서버(S)에 소정의 명령을 할 때 해당 명령 정보가 위/변조되는 것을 방지하기 위한 것이다.The block chain external command output method and system using the secret sharing technique is to prevent the corresponding command information from being forged/falsified when a predetermined command is given to the external server (S).
일례로, 도 4에 도시한 바와 같이, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 게이트웨이(110)가 외부 서버(S)에 명령할 명령 정보를 획득하는 제1 단계(①)를 포함할 수 있다.For example, as shown in FIG. 4 , the block chain external command output method using the secret sharing technique includes the first step (①) of the
즉, 상기 게이트웨이(110)는 사용자의 전자장치(E)로부터 상기 명령 정보를 획득할 수도 있고, 앞서 설명한 상기 블록체인 외부 입력 검증 방법에 의해 상기 명령 정보를 획득할 수도 있다.That is, the
이를 보다 자세히 설명하자면, 상기 게이트웨이(110)는 사용자로부터 'B는 A에게 100만원을 이체한다'라는 상기 명령 정보를 획득할 수도 있고, 상기 블록체인 외부 입력 검증 방법에서 상기 요청 정보인 'A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다'라는 정보에서 "A가 선거에서 당선되었음을 확인하였다"라는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 'B는 A에게 100만원을 이체한다'라는 상기 명령 정보가 생성되어 획득될 수도 있다.To explain this in more detail, the
여기서, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 명령 정보를 전달하는 제2 단계(②) 및 상기 트랜잭션 실행부(120)가 상기 외부 서버(S)로 상기 명령 정보를 전달하는 제3 단계(③)를 더 포함할 수 있다.Here, as an example, in the method of outputting a block chain external command using the secret sharing technique, the second step (②) in which the
일례로, 상기 제2 단계에서 상기 게이트웨이(110)는 복수의 상기 노드 각각으로 상기 명령 정보를 전달할 수 있다.For example, in the second step, the
즉, 상기 게이트웨이(110)는 복수의 상기 노드들 중 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)에게 각각 병렬적으로 상기 명령 정보를 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.That is, the
한편, 일례로, 상기 제3 단계에서 복수의 상기 노드 각각은 상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보 생성하고, 생성한 분할된 상기 명령 정보를 상기 외부 서버(S)로 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.Meanwhile, in the third step, each of the plurality of nodes may generate the divided command information by dividing a portion of the command information, and may transmit the generated divided command information to the external server S. In addition, the delivery information may be delivered.
여기서, 상기 외부 서버(S)는 B가 A에게 100만원을 이체하기 위한 소정의 은행 서버일 수 있다.Here, the external server S may be a predetermined bank server for B to transfer 1 million won to A.
예를 들어, 상기 명령 정보인 'B는 A에게 100만원을 이체한다'라는 정보가 "A, B, C, D"로 구성된 데이터인 경우, 상기 제1 노드(EP1)는 "A, B, C, D" 중 일부인 "A, B, C"인 분할된 상기 명령 정보를 생성하고, 상기 제2 노드(EP2)는 "A, B, C, D" 중 일부인 "A, B, D"인 분할된 상기 명령 정보를 생성하며, 상기 제3 노드(EP3)는 "A, B, C, D" 중 일부인 "B, C, D"인 분할된 상기 명령 정보를 생성하여, 각각 상기 외부 서버(S)로 분할된 상기 명령 정보를 전달할 수 있다.For example, when the command information, '
여기서, 일례로, 상기 제3 단계에서 복수의 상기 노드 각각은 비대칭키 암호화 방식을 이용하여 상기 명령 정보를 암호화하여 상기 외부 서버(S)로 전달할 수 있다.Here, for example, in the third step, each of the plurality of nodes may encrypt the command information using an asymmetric key encryption method and transmit it to the external server S.
즉, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 상기 외부 서버(S)의 공개키를 이용하여 분할된 상기 명령 정보를 암호화할 수 있으며, 암호화된 분할된 상기 명령 정보를 각각 상기 외부 서버(S)로 전달할 수 있다.That is, the first node EP1, the second node EP2, and the third node EP3 may encrypt the divided command information using the public key of the external server S, and The divided command information may be transmitted to the external server (S), respectively.
이 때, 복수의 상기 노드 각각은 상기 식별 ID 및 상기 명령 정보를 암호화한 암호 시점을 상기 외부 서버(S)로 전달할 수도 있다.At this time, each of the plurality of nodes may transmit the encryption time point at which the identification ID and the command information are encrypted to the external server (S).
한편, 상기 제3 단계는 상기 제1 단계 및 상기 제2 단계가 전제로 구현되지 않고도 구현될 수 있다.Meanwhile, the third step may be implemented without the first step and the second step being implemented as a premise.
이를 보다 자세히 설명하자면, 앞서 설명한 상기 블록체인 외부 입력 검증 방법에서 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 상기 요청 정보에 대해 각각 상기 외부 서버(S)로부터 "A가 선거에서 당선되었다"라는 상기 결과 정보를 획득할 수 있고, A가 선거에서 당선되었음이 확인됨에 따라 "B는 A에게 100만원을 이체한다"라는 상기 명령 정보를 생성하여 상기 외부 서버(S)로 상기 명령 정보를 전달할 수도 있다.To explain this in more detail, in the above-described block chain external input verification method, the first node EP1, the second node EP2, and the third node EP3 of the
한편, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 외부 서버(S)가 포함하는 복호부(X)가 복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 제4 단계(④)를 더 포함할 수 있다.On the other hand, as an example, in the method for outputting a block chain external command using the secret sharing technique, the decryption unit (X) included in the external server (S) decrypts the command information divided from each of the plurality of nodes. (④) may be further included.
일례로, 상기 복호부(X)는 상기 외부 서버(S)의 일 구성일 수 있다.For example, the decoding unit (X) may be a component of the external server (S).
일례로, 상기 복호부(X)는 복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 구성일 수 있다.For example, the decoding unit X may be configured to decode the command information divided from each of the plurality of nodes.
일례로, 상기 복호부(X)는 자신의 비 공개키를 이용하여 암호화된 상기 명령 정보를 복호화할 수 있다.For example, the decryption unit X may decrypt the encrypted command information using its private key.
한편, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 외부 서버(S)가 포함하는 검증부(Y)가 복호화된 분할된 상기 명령 정보를 미리 정해진 조건을 만족하는지 여부로 검증하는 제5 단계(⑤)를 더 포함할 수 있다.On the other hand, as an example, in the block chain external command output method using the secret sharing technique, the verification unit (Y) included in the external server (S) verifies the decrypted divided command information as to whether or not a predetermined condition is satisfied It may further include a fifth step (⑤).
일례로, 상기 검증부(Y)는 상기 외부 서버(S)의 일 구성일 수 있다.For example, the verification unit (Y) may be a component of the external server (S).
일례로, 상기 검증부(Y)는 복호화된 분할된 상기 명령 정보를 상기 복호부(X)로부터 전달받아 상기 명령 정보가 상기 미리 정해진 조건을 만족하는지 여부로 검증하는 구성일 수 있다.For example, the verification unit Y may be configured to receive the decoded and divided command information from the decoding unit X and verify whether the command information satisfies the predetermined condition.
여기서, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되는 조건일 수 있다.Here, the predetermined condition may be a condition in which one piece of the command information is completed when the divided command information is collected.
이를 보다 자세히 설명하자면, 상기 제1 노드(EP1)로부터 획득한 분할된 상기 명령 정보인 "A, B, C"와 상기 제2 노드(EP2)로부터 획득한 분할된 상기 명령 정보인 "A, B, D"를 모았을 때, 분할되기 전인 상기 명령 정보인 "A, B, C, D"가 완성이 된다.To explain this in more detail, "A, B, C" which is the divided command information obtained from the first node EP1 and "A, B" which is the divided command information obtained from the second node EP2 , D", the command information "A, B, C, D" before division is completed.
즉, 상기 미리 정해진 조건은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및/또는 상기 제3 노드(EP3)로부터 획득한 분할된 상기 명령 정보를 모아 조합하였을 때, 분할되기 전의 상기 명령 정보인 "A, B, C, D"가 갖춰지는 조건일 수 있다.That is, when the divided command information obtained from the first node EP1, the second node EP2, and/or the third node EP3 is collected and combined, the predetermined condition is the It may be a condition in which "A, B, C, D", which is the command information, is satisfied.
한편, 상기 미리 정해진 조건은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및/또는 상기 제3 노드(EP3)로부터 획득한 분할된 상기 명령 정보를 모아 조합하였을 때, 분할되기 전의 상기 명령 정보인 "A, B, C, D"가 갖춰지는 동시에, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 미리 정해진 특정 노드로부터 분할된 상기 명령 정보가 포함되어야 하는 조건일 수 있다.On the other hand, the predetermined condition is the first node EP1 , the second node EP2 , and/or the third node EP3 obtained from the divided command information obtained by collecting and combining the divided command information before the division. The command divided from a predetermined specific node among the first node EP1, the second node EP2, and the third node EP3 while being equipped with command information “A, B, C, D” It may be a condition that information should be included.
이를 보다 자세히 설명하자면, 상기 미리 정해진 특정 노드가 상기 제1 노드(EP1)이며 상기 복호부(X)가 상기 제1 노드(EP1)로부터 분할된 상기 명령 정보를 획득하지 못한 경우, 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 분할된 상기 명령 정보를 모아 조합하였을 때, 분할되기 전의 상기 명령 정보인 "A, B, C, D"가 갖춰지더라고, "A, B, C, D"인 상기 명령 정보에 상기 제1 노드(EP1)의 상기 분할된 상기 명령 정보가 포함되지 않았다는 점에서, 이러한 경우는 상기 미리 정해진 조건을 만족하지 않는다.To explain this in more detail, when the predetermined specific node is the first node EP1 and the decoder X fails to obtain the divided command information from the first node EP1, the second node When the divided command information obtained from (EP2) and the third node (EP3) is collected and combined, the command information before division "A, B, C, D" is provided, "A, B , C, D" in that the divided command information of the first node EP1 is not included in the command information, this case does not satisfy the predetermined condition.
상기 검증부(Y)는 상기 명령 정보가 상기 미리 정해진 조건을 만족하는 경우 'B는 A에게 100만원을 이체한다'하는 명령 정보를 실행하여, B의 계좌에서 A의 계좌로 100만원을 이체할 수 있다.When the command information satisfies the predetermined condition, the verification unit Y executes command information '
한편, 일례로, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되며, 상기 암호 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수도 있다.Meanwhile, as an example, the predetermined condition may be a condition in which one piece of the command information is completed when the divided command information is collected, and the difference between the encryption time points is less than or equal to a preset time difference.
여기서, 일례로, 상기 검증부(Y)는 복수의 상기 노드로부터 각각 획득한 상기 암호 시점의 차이가 기 설정된 시간 차이 이하를 만족하는지 여부를 먼저 판단하고, 이를 만족하지 않는다면 복수의 상기 노드로부터 획득한 분할된 상기 명령 정보를 조합하였을 때 하나의 상기 명령 정보가 완성되는지 여부를 판단하지 않을 수 있다.Here, as an example, the verification unit (Y) first determines whether the difference between the encryption time points obtained from the plurality of nodes satisfies a preset time difference or less, and if not satisfied, obtains from the plurality of nodes When the divided command information is combined, it may not be determined whether one piece of the command information is completed.
만약, 상기 명령 정보가 상기 미리 정해진 조건을 만족하지 않는 경우, 상기 외부 서버(S)는 상기 게이트웨이(110)로 상기 명령 정보가 상기 미리 정해진 조건을 만족하지 않는다는 정보를 전달할 수 있으며, 이 때 상기 게이트웨이(110)는 상기 트랜잭션 실행부(120)로 상기 명령 정보를 재 전달할 수 있다.If the command information does not satisfy the predetermined condition, the external server S may transmit information that the command information does not satisfy the predetermined condition to the
한편, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 명령 정보를 재 전달하는 경우, 상기 게이트웨이(110)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 명령 정보를 전달할 수 있다.Meanwhile, when the
그 결과, 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 적어도 어느 하나가 비이상적 상황 발생 시, 다른 상기 노드들을 이용하여 상기 명령 정보에 대한 재 처리가 이루어질 수 있다.As a result, when at least one of the previously delivered first node EP1 , the second node EP2 , and the third node EP3 encounters an abnormal situation, other nodes are used to control the command information. Reprocessing may take place.
3.3. 피드백 정보 블록체인 기록 방법 및 시스템Feedback Information Blockchain Recording Method and System
도 5는 상기 스마트 컨트랙트 방법 중 일 구성인 상기 피드백 정보 블록체인 기록 방법 및 시스템을 설명하기 위한 개략도이다.5 is a schematic diagram for explaining the feedback information block chain recording method and system as one component of the smart contract method.
앞서 설명한 상기 블록체인 외부 입력 검증 방법/시스템 및 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법/시스템과 중복되거나 당업자의 입장에서 용이하게 유추할 수 있는 것은 그 설명을 생략하거나 간략히 하겠다.Those that overlap with the above-described blockchain external input verification method/system and the blockchain external command output method/system using the secret sharing technique or that can be easily inferred from the perspective of those skilled in the art will be omitted or simplified.
상기 피드백 정보 블록체인 기록 방법 및 시스템은 외부 서버(S)가 상기 명령 정보를 처리한 결과인 피드백 정보를 전달받을 때 해당 피드백 정보가 위/변조되는 것을 방지하고, 블록체인(B)에 기록하기 위한 것이다.The feedback information block chain recording method and system prevent the corresponding feedback information from being forged/falsified when the external server (S) receives the feedback information that is the result of processing the command information, and records it in the block chain (B) it is for
일례로, 도 5에 도시한 바와 같이, 상기 피드백 정보 블록체인 기록 방법은 상기 외부 서버(S)로부터 생성된 상기 피드백 정보가 아래에서 설명될 암호화부(Z)로 전달되는 단계(①)를 포함할 수 있다.As an example, as shown in FIG. 5 , the feedback information block chain recording method includes a step (①) of transmitting the feedback information generated from the external server S to the encryption unit Z to be described below. can do.
여기서, 상기 피드백 정보는 상기 외부 서버(S)가 생성하는 정보로서, B의 계좌에서 A의 계좌로 100만원을 이체한 정보(예를 들어, 이체 영수증)일 수 있다.Here, the feedback information is information generated by the external server S, and may be information (eg, a transfer receipt) of 1 million won transferred from B's account to A's account.
여기서, 상기 피드백 정보 블록체인 기록 방법은 상기 외부 서버(S)가 포함하는 상기 암호화부(Z)가 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화하고, 상기 피드백 정보를 프록시(P)로 전달하는 제1 단계(②)를 더 포함할 수 있다.Here, in the feedback information block chain recording method, the encryption unit (Z) included in the external server (S) encrypts the feedback information using asymmetric key encryption and a method, and transmits the feedback information to a proxy (P) It may further include a first step (②) of delivering.
일례로, 상기 암호화부(Z)는 상기 외부 서버(S)의 일 구성일 수 있다.For example, the encryption unit (Z) may be a component of the external server (S).
일례로, 상기 암호화부(Z)는 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화할 수 있으며, 암호화된 상기 피드백 정보를 프록시(P)로 전달할 수 있다.For example, the encryption unit (Z) may encrypt the feedback information using asymmetric key encryption and method, and may transmit the encrypted feedback information to the proxy (P).
이 때, 상기 암호화부(Z)는 상기 암호화된 상기 피드백 정보뿐만 아니라, 앞서 설명한 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법에서 상기 외부 서버(S)로 상기 명령 정보를 전달한 복수의 상기 노드에 대한 상기 노드 정보, 상기 전달 정보를 포함하여 상기 프록시(P)로 전달할 수 있다.At this time, the encryption unit Z transmits the command information to the external server S in the block chain external command output method using the above-described secret sharing technique as well as the encrypted feedback information. The node information and the forwarding information may be transmitted to the proxy (P).
또한, 상기 암호화부(Z)는 프록시(P)가 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법에서 상기 외부 서버(S)로 상기 명령 정보를 전달한 복수의 상기 노드에 상기 피드백 정보를 전달하도록 하는 명령어를 더 포함하여 프록시(P)에게 전달할 수 있다.In addition, the encryption unit Z transmits the feedback information to the plurality of nodes that the proxy P transmits the command information to the external server S in the block chain external command output method using the secret sharing technique. It can be delivered to the proxy (P) by further including a command to
이 때, 상기 암호화부(Z)는 상기 제1 노드(EP1)의 공개키를 이용하여 상기 피드백 정보를 암호화하고, 상기 제2 노드(EP2)의 공개키를 이용하여 상기 피드백 정보를 암호화하며, 상기 제3 노드(EP3)의 공개키를 이용하여 상기 피드백 정보를 암호화하여, 각각의 병렬적인 피드백 정보를 프록시(P)로 전달할 수 있다.At this time, the encryption unit Z encrypts the feedback information using the public key of the first node EP1, and encrypts the feedback information using the public key of the second node EP2, By encrypting the feedback information using the public key of the third node EP3, each parallel feedback information may be transmitted to the proxy P.
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 트랜잭션 실행부(120)가 상기 프록시(P)로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하는 제2 단계(③)를 더 포함할 수 있다.Here, as an example, the feedback information block chain recording method further includes a second step (③) in which the
상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1)는 상기 프록시(P)로부터 자신의 공개키로 암호화된 B의 계좌에서 A의 계좌로 100만원을 이체한 정보인 상기 피드백 정보를 전달받을 수 있으며, 자신의 비 공개키를 이용하여 암호화된 상기 피드백 정보를 복호화할 수 있다.The first node EP1 of the
마찬가지로, 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각은 상기 프록시(P)로부터 자신의 공개키로 암호화된 B의 계좌에서 A의 계좌로 100만원을 이체한 정보인 상기 피드백 정보를 전달받을 수 있으며, 자신의 비 공개키를 이용하여 암호화된 상기 피드백 정보를 복호화할 수 있다.Similarly, each of the second node EP2 and the third node EP3 receives the feedback information, which is information obtained by transferring 1 million won from the proxy P's own public key encrypted from B's account to A's account. can be transmitted, and the encrypted feedback information can be decrypted using its own private key.
즉, 복수의 상기 노드 각각은 상기 프록시(P)로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화할 수 있다.That is, each of the plurality of nodes may obtain the encrypted feedback information from the proxy P and decrypt the feedback information.
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 트랜잭션 실행부(120)가 상기 게이트웨이(110) 및 상기 원장기록부(130)로 상기 피드백 정보를 기초로 한 트랜잭션 실행 피드백 정보를 생성하여 전달하는 제3 단계(④, ⑤)를 더 포함할 수 있다.Here, as an example, in the feedback information block chain recording method, the
즉, 복수의 상기 노드 각각은 복호화한 상기 피드백 정보를 바탕으로 트랜잭션 실행 결과인 상기 실행 피드백 정보를 생성하고 상기 게이트웨이(110) 및 상기 원장기록부(130)로 전달할 수 있다. 또한 상기 전달 정보 및 상기 노드 정보도 전달할 수 있다.That is, each of the plurality of nodes may generate the execution feedback information, which is a transaction execution result, based on the decoded feedback information, and transmit it to the
일례로, 상기 실행 피드백 정보는 "B의 계좌에서 A의 계좌로 100만원을 이체하였다"라는 정보일 수 있고, 또한 "A가 선거에서 당선되었음이 확인되어 B의 계좌에서 A의 계좌로 100만원을 이체하였다"라는 정보일 수도 있다.As an example, the execution feedback information may be information that "1 million won was transferred from B's account to A's account", and also "1 million won was transferred from B's account to A's account after it was confirmed that A was elected in the election." has been transferred".
여기서, 상기 노드 정보는 상기 식별 ID 정보 외에, 상기 피드백 정보를 복호화한 복호 시점에 대한 정보를 더 포함할 수 있다.Here, the node information may further include information on a decoding time point when the feedback information is decoded, in addition to the identification ID information.
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 피드백 정보를 미리 정해진 조건의 만족 여부로 검증하는 제4 단계를 더 포함할 수 있다.Here, as an example, the feedback information block chain recording method may further include a fourth step of verifying, by the
즉, 상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는지 여부를 판단할 수 있다.That is, each of the
여기서, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건일 수 있다.Here, the predetermined condition may be a condition in which the execution feedback information obtained from the plurality of nodes satisfies a predetermined agreement condition.
여기서, 기 설정된 합의 조건은 하나 이상의 특정 노드로부터 상기 실행 피드백 정보가 포함되어야 하는 조건일 수 있고, 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 일치율 이상인 조건일 수도 있다.Here, the preset agreement condition may be a condition in which the execution feedback information from one or more specific nodes should be included, or a condition in which the execution feedback information obtained from the plurality of nodes is equal to or greater than a preset agreement rate.
일례로, 상기 일치율은 관리자에 의해 미리 정해질 수 있으며, 100%, 50% 등으로 설정될 수 있다.For example, the matching rate may be predetermined by an administrator, and may be set to 100%, 50%, or the like.
다만, 설명의 편의를 위해 상기 일치율은 100%임으로 가정하겠다.However, for convenience of explanation, it is assumed that the coincidence rate is 100%.
상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 피드백 정보의 일치율을 연산할 수 있다.Each of the
만약, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 피드백 정보 모두가 B의 계좌에서 A의 계좌로 100만원을 이체한 정보 또는 A가 선거에서 당선되었음이 확인되어 B의 계좌에서 A의 계좌로 100만원을 이체한 정보인 경우 상기 피드백 정보의 일치율이 100%라는 점에서 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는 것으로 판단될 수 있다.If all of the execution feedback information obtained from the first node EP1, the second node EP2, and the third node EP3 is information about transferring 1 million won from B's account to A's account, or A In the case where 1 million won is transferred from B's account to A's account after it has been confirmed that is has been elected in the election, it is determined that the execution feedback information satisfies the predetermined condition in that the matching rate of the feedback information is 100% can
그러나, 만약 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 피드백 정보 중 적어도 어느 하나가 다른 경우, 상기 기 설정된 일치율 미만이라는 점에서 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하지 않는 것으로 판단될 수 있다.However, if at least one of the execution feedback information obtained from the first node EP1, the second node EP2, and the third node EP3 is different, it is less than the preset matching rate. It may be determined that the execution feedback information does not satisfy the predetermined condition.
한편, 추가적으로 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하며, 상기 복호 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.Meanwhile, the predetermined condition may be a condition in which the execution feedback information obtained from the plurality of nodes satisfies a predetermined agreement condition, and the difference between the decoding time points is less than or equal to a predetermined time difference.
즉, 상기 미리 정해진 조건은 복수의 상기 노드로부터 각각 획득한 복수의 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 동시에, 복수의 복호 시점 간의 시간 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.That is, the predetermined condition may be a condition in which a plurality of pieces of execution feedback information each obtained from a plurality of nodes satisfy a predetermined agreement condition, and a time difference between a plurality of decoding time points is equal to or less than a predetermined time difference.
여기서, 일례로, 상기 게이트웨이(110) 및 상기 원장기록부(130)는 상기 복호 시점의 차이가 기 설정된 시간 차이 이하를 만족하는지 여부를 먼저 판단하고, 이를 만족하지 않는다면 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건의 만족 여부를 판단하지 않을 수 있다. 즉, 상기 미리 정해진 조건은 1차적으로, 복수의 상기 노드로부터 획득한 상기 복호 시점의 차이가 기 설정된 시간 차이 이하인지 여부를 먼저 판단하고, 기 설정된 시간 차이 이하를 만족하는 경우 2차적으로, 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건을 의미할 수 있다. Here, as an example, the
그 결과, 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는지 여부를 판단하는데 소요되는 부하를 최소화할 수 있다.As a result, the load required for the
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부(130)가 블록체인(B)에 상기 실행 피드백 정보를 기록하는 제5 단계(⑥)를 더 포함할 수 있다.Here, as an example, the feedback information block chain recording method further includes a fifth step (⑥) in which the
또한, 일례로 상기 제5 단계는 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 재송신을 요청할 수 있다.Also, as an example, in the fifth step, when the execution feedback information does not satisfy the predetermined condition, the
즉, 상기 원장기록부(130)는 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는 경우 블록체인(B)에 상기 실행 피드백 정보를 기록하며, 상기 미리 정해진 조건을 만족하기 않는 경우 상기 실행 피드백 정보를 삭제(파기)할 수 있다.That is, the
또한, 상기 게이트웨이(110)는 상기 피드백 정보가 상기 미리 정해진 조건을 만족하는 경우 이러한 사실 정보 및 블록체인(B)에 입력(기록)한 사실 정보를 사용자의 전자장치(E)로 전달할 수 있고, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청할 수 있다.In addition, when the feedback information satisfies the predetermined condition, the
여기서, 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청 경우, 앞서 설명한 상기 제3 단계, 상기 제4 단계가 순차적으로 재 구현될 수 있다.Here, when the
한편, 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청하는 경우, 상기 외부 서버(S)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 피드백 정보를 전달할 수 있다.On the other hand, when the
그 결과, 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 어느 하나가 비이상적 상황 발생 시, 다른 상기 노드들을 이용하여 상기 피드백 정보에 대한 재 검증이 이루어질 수 있다.As a result, when any one of the previously transmitted first node EP1, the second node EP2, and the third node EP3 occurs in an abnormal situation, the feedback information is re-reviewed using the other nodes. Verification can be done.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.In the above, the configuration and features of the present invention have been described based on the embodiments according to the present invention, but the present invention is not limited thereto, and it is understood that various changes or modifications can be made within the spirit and scope of the present invention. It is intended that such changes or modifications will be apparent to those skilled in the art, and therefore fall within the scope of the appended claims.
110: 게이트웨이
120: 트랜잭션 실행부
130: 원장기록부
B: 블록체인110: gateway
120: transaction execution unit
130: ledger record book
B: Blockchain
Claims (8)
상기 외부 서버가 포함하는 암호화부가 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화하고, 상기 피드백 정보를 프록시로 전달하는 제1 단계;
트랜잭션 실행부가 상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하는 제2 단계;
상기 트랜잭션 실행부가 게이트웨이 및 원장기록부로 상기 피드백 정보를 기초로 한 트랜잭션 실행 피드백 정보를 전달하는 제3 단계;
상기 게이트웨이 및 상기 원장기록부가 상기 실행 피드백 정보를 미리 정해진 조건의 만족 여부로 검증하는 제4 단계; 및
상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부가 블록체인에 상기 실행 피드백 정보를 기록하는 제5 단계;를 포함하며,
상기 트랜잭션 실행부는,
각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며,
상기 제2 단계는,
복수의 상기 노드가 각각 상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하며,
상기 제3 단계는,
복수의 상기 노드가 각각 상기 게이트웨이 및 상기 원장기록부로 상기 실행 피드백 정보를 전달하고,
상기 제3 단계는,
복수의 상기 노드 각각이 상기 식별 ID 정보 및 상기 피드백 정보를 복호화한 복호 시점을 상기 게이트웨이 및 상기 원장기록부로 전달하고,
상기 미리 정해진 조건은,
1차적으로, 복수의 상기 노드로부터 획득한 상기 복호 시점의 차이가 기 설정된 시간 차이 이하이며,
2차적으로, 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건인,
피드백 정보 블록체인 기록 방법.
In the feedback information block chain recording method of obtaining feedback information from an external server and recording it in a block chain,
a first step of encrypting the feedback information by an encryption unit included in the external server using asymmetric key encryption and a method, and transmitting the feedback information to a proxy;
a second step of a transaction execution unit obtaining the encrypted feedback information from the proxy and decrypting the feedback information;
a third step of transmitting, by the transaction execution unit, transaction execution feedback information based on the feedback information to a gateway and a ledger recording unit;
a fourth step of verifying, by the gateway and the ledger recording unit, the execution feedback information as to whether a predetermined condition is satisfied; and
a fifth step of recording the execution feedback information in the block chain by the ledger recorder when the predetermined condition is satisfied;
The transaction execution unit,
A plurality of nodes each having a unique identification ID,
The second step is
each of the plurality of nodes obtains the encrypted feedback information from the proxy, and decrypts the feedback information,
The third step is
Each of the plurality of nodes transmits the execution feedback information to the gateway and the ledger recorder,
The third step is
Each of the plurality of nodes transmits a decoding time point at which the identification ID information and the feedback information are decoded to the gateway and the ledger recording unit,
The predetermined condition is
First, the difference between the decoding time points obtained from the plurality of nodes is less than or equal to a preset time difference,
Second, the execution feedback information obtained from the plurality of nodes is a condition that satisfies a preset agreement condition,
How to record feedback information on the blockchain.
비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화하고, 상기 피드백 정보를 프록시로 전달하는 암호화부;
상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하며, 상기 피드백 정보를 기초로 한 트랜잭션 실행 피드백 정보를 생성하는 트랜잭션 실행부; 및
상기 트랜잭션 실행부로부터 상기 실행 피드백 정보를 획득하고, 상기 실행 피드백 정보를 미리 정해진 조건의 만족 여부로 검증하는 원장기록부;를 포함하며,
상기 트랜잭션 실행부는,
각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며,
복수의 상기 노드 각각은,
상기 프록시로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하며,
상기 원장기록부로 상기 실행 피드백 정보를 전달하고,
복수의 상기 노드 각각은,
상기 식별 ID 정보 및 상기 피드백 정보를 복호화한 복호 시점을 상기 원장기록부로 전달하고,
상기 미리 정해진 조건은,
1차적으로, 복수의 상기 노드로부터 획득한 상기 복호 시점의 차이가 기 설정된 시간 차이 이하이며,
2차적으로, 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건인,
피드백 정보 블록체인 기록 시스템.
In the feedback information block chain recording system that obtains feedback information from an external server and records it in a block chain,
an encryption unit that encrypts the feedback information using asymmetric key encryption and a method, and transmits the feedback information to a proxy;
a transaction execution unit that obtains the encrypted feedback information from the proxy, decrypts the feedback information, and generates transaction execution feedback information based on the feedback information; and
a ledger recording unit that obtains the execution feedback information from the transaction execution unit and verifies whether the execution feedback information satisfies a predetermined condition;
The transaction execution unit,
A plurality of nodes each having a unique identification ID,
Each of the plurality of nodes,
obtain the encrypted feedback information from the proxy, decrypt the feedback information,
transmitting the execution feedback information to the ledger recording unit,
Each of the plurality of nodes,
A decoding time point at which the identification ID information and the feedback information are decoded is transmitted to the ledger recording unit,
The predetermined condition is
First, the difference between the decoding time points obtained from the plurality of nodes is less than or equal to a preset time difference,
Second, the execution feedback information obtained from the plurality of nodes is a condition that satisfies a preset agreement condition,
Feedback information blockchain record system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163611A KR102391187B1 (en) | 2021-11-24 | 2021-11-24 | Method and system for recording feedback data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163611A KR102391187B1 (en) | 2021-11-24 | 2021-11-24 | Method and system for recording feedback data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102391187B1 true KR102391187B1 (en) | 2022-04-28 |
Family
ID=81447997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210163611A KR102391187B1 (en) | 2021-11-24 | 2021-11-24 | Method and system for recording feedback data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102391187B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200131307A (en) * | 2018-03-19 | 2020-11-23 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Data access right control method and device |
KR102238784B1 (en) * | 2020-12-18 | 2021-04-16 | 주식회사 에이아이디비 | Method and system for storing and verifying web pages using a blockchain network |
KR20210056744A (en) * | 2019-11-11 | 2021-05-20 | 한국전자기술연구원 | External information recognizing and information providing method using blockchain |
KR20210063055A (en) * | 2019-11-22 | 2021-06-01 | 서강대학교산학협력단 | Distributed blockchain oracle system by using TEE and method of transferring external data in the oracle system |
-
2021
- 2021-11-24 KR KR1020210163611A patent/KR102391187B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200131307A (en) * | 2018-03-19 | 2020-11-23 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Data access right control method and device |
KR20210056744A (en) * | 2019-11-11 | 2021-05-20 | 한국전자기술연구원 | External information recognizing and information providing method using blockchain |
KR20210063055A (en) * | 2019-11-22 | 2021-06-01 | 서강대학교산학협력단 | Distributed blockchain oracle system by using TEE and method of transferring external data in the oracle system |
KR102238784B1 (en) * | 2020-12-18 | 2021-04-16 | 주식회사 에이아이디비 | Method and system for storing and verifying web pages using a blockchain network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12020238B2 (en) | Ledger token transfer outside of a distributed ledger network through cryptographic binding to a transferrable possession token | |
US11316668B2 (en) | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information | |
KR101975822B1 (en) | Private blockchain network system and method for consensus based on blockchain | |
CN106911513B (en) | trusted device management method based on decentralized network | |
CN108418680B (en) | Block chain key recovery method and medium based on secure multi-party computing technology | |
CN111818032B (en) | Data processing method and device based on cloud platform and computer program | |
CN108429759B (en) | Decentralized storage safety implementation method | |
US10848315B2 (en) | Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program | |
TW201914254A (en) | Method, apparatus and system for data encryption and decryption | |
CN110460439A (en) | Information transferring method, device, client, server-side and storage medium | |
CN105103488A (en) | Policy enforcement with associated data | |
US8806206B2 (en) | Cooperation method and system of hardware secure units, and application device | |
US20150295712A1 (en) | Method and system for protected exchange of data | |
JP2005537559A (en) | Secure record of transactions | |
CN114866323B (en) | User-controllable privacy data authorization sharing system and method | |
CN101325483B (en) | Method and apparatus for updating symmetrical cryptographic key, symmetrical ciphering method and symmetrical deciphering method | |
KR102298716B1 (en) | Communication node, method of operating thereof and collaborative system | |
CN110365472B (en) | Quantum communication service station digital signature method and system based on asymmetric key pool pair | |
KR20190111261A (en) | Security Management System using Block Chain Technology and Method thereof | |
CN108846671B (en) | Online secure transaction method and system based on block chain | |
CN116938985B (en) | Data streaming method, device, terminal equipment and medium based on digital certificates | |
EP2503480A1 (en) | Method and devices for secure data access and exchange | |
CN109960512A (en) | A kind of software deployment method and system | |
KR102391187B1 (en) | Method and system for recording feedback data | |
KR102391185B1 (en) | Method and system for verifying external input |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |