KR102391185B1 - Method and system for verifying external input - Google Patents

Method and system for verifying external input Download PDF

Info

Publication number
KR102391185B1
KR102391185B1 KR1020210163599A KR20210163599A KR102391185B1 KR 102391185 B1 KR102391185 B1 KR 102391185B1 KR 1020210163599 A KR1020210163599 A KR 1020210163599A KR 20210163599 A KR20210163599 A KR 20210163599A KR 102391185 B1 KR102391185 B1 KR 102391185B1
Authority
KR
South Korea
Prior art keywords
information
result information
gateway
nodes
node
Prior art date
Application number
KR1020210163599A
Other languages
Korean (ko)
Inventor
김민수
신동명
김주성
조용준
Original Assignee
엘에스웨어(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스웨어(주) filed Critical 엘에스웨어(주)
Priority to KR1020210163599A priority Critical patent/KR102391185B1/en
Application granted granted Critical
Publication of KR102391185B1 publication Critical patent/KR102391185B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

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

Abstract

One embodiment of the present invention relates to a method and system for verifying an external input for a blockchain, which easily verify authenticity of predetermined information input to a blockchain. The method comprises: a first step of acquiring, by a gateway, request information for an external input to be verified; a second step of transmitting, by the gateway, the request information to a transaction execution unit; a third step of requesting, by the transaction execution unit, result information to be verified to execute the requested information to an external server; a fourth step of acquiring, by the transaction execution unit, the result information from the external server; a fifth step of transmitting, by the transaction execution unit, transaction execution result information on the basis of the result information to the gateway and a ledger recorder; a sixth step of verifying, by the gateway and the ledger recorder, whether the execution result information satisfies a predetermined condition; and a seventh step of recording, by the ledger recorder, the request information and/or the execution result information in a blockchain when the predetermined condition is satisfied and retransmitting, by the gateway, the request information to the transaction execution unit when the predetermined condition is not satisfied.

Description

블록체인 외부 입력 검증 방법 및 시스템{METHOD AND SYSTEM FOR VERIFYING EXTERNAL INPUT}Blockchain external input verification method and system {METHOD AND SYSTEM FOR VERIFYING EXTERNAL INPUT}

본 발명은 블록체인 외부 입력 검증 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 블록체인에 검증된 소정의 정보를 입력하기 위해 소정의 정보를 검증할 수 있는 블록체인 외부 입력 검증 방법 및 시스템에 관한 것이다.The present invention relates to a block chain external input verification method and system, and more particularly, to a block chain external input verification method and system capable of verifying predetermined information to input verified predetermined information to 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 it is an object of the present invention to provide a block chain external input verification method and system that can easily verify the authenticity of predetermined information to be input into 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 단계; 상기 게이트웨이 및 상기 원장기록부가 상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하는 제6 단계; 및 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부가 블록체인에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이가 상기 트랜잭션 실행부로 상기 요청 정보를 재 전달하는 제7 단계;를 포함할 수 있다.A block chain external input verification method according to an embodiment of the present invention includes a first step of obtaining, by a gateway, request information for an external input requiring verification; a second step in which the gateway transmits the request information to a transaction execution unit; a third step of requesting, by the transaction execution unit, result information requiring verification to perform the request information to an external server; a fourth step of the transaction execution unit obtaining result information from the external server; a fifth step of transmitting, by the transaction execution unit, transaction execution result information based on the result information to the gateway and the ledger recording unit; a sixth step of verifying, by the gateway and the ledger recorder, whether the execution result information is satisfied with a predetermined condition; and when the predetermined condition is satisfied, the ledger recorder records the request information and/or the execution result information in the block chain, and when the predetermined condition is not satisfied, the gateway sends the request information to the transaction execution unit A seventh step of re-delivering; may include.

본 발명의 일 실시예에 따른 블록체인 외부 입력 검증 방법에 의하면, 블록체인에 입력할 소정의 정보의 진위여부를 용이하게 검증할 수 있는 장점이 있다.According to the block chain external input verification method according to an embodiment of the present invention, there is an advantage in that it is possible to easily verify the authenticity of predetermined information to be input into 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 showing that a blockchain external input validation system implementing a blockchain external input validation method according to an embodiment of the present invention communicates with another device;
2 is a schematic configuration diagram of a blockchain external input validation system implementing a blockchain external input validation 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 an 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 another 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 단계; 상기 게이트웨이 및 상기 원장기록부가 상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하는 제6 단계; 및 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부가 블록체인에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이가 상기 트랜잭션 실행부로 상기 요청 정보를 재 전달하는 제7 단계;를 포함할 수 있다.A block chain external input verification method according to an embodiment of the present invention includes a first step of obtaining, by a gateway, request information for an external input requiring verification; a second step in which the gateway transmits the request information to a transaction execution unit; a third step of requesting, by the transaction execution unit, result information requiring verification to perform the request information to an external server; a fourth step of the transaction execution unit obtaining result information from the external server; a fifth step of transmitting, by the transaction execution unit, transaction execution result information based on the result information to the gateway and the ledger recording unit; a sixth step of verifying, by the gateway and the ledger recorder, whether the execution result information is satisfied with a predetermined condition; and when the predetermined condition is satisfied, the ledger recorder records the request information and/or the execution result information in the block chain, and when the predetermined condition is not satisfied, the gateway sends the request information to the transaction execution unit A seventh step of re-delivering; may include.

또, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며, 상기 제2 단계는 상기 게이트웨이가 복수의 상기 노드 각각에 상기 요청 정보를 전달하고, 상기 제3 단계는 복수의 상기 노드 각각이 상기 외부 서버로 상기 결과 정보를 요청하며, 상기 제4 단계는 복수의 상기 노드 각각이 상기 외부 서버로부터 상기 결과 정보를 획득하며, 상기 제5 단계는 복수의 상기 노드 각각이 상기 게이트웨이 및 상기 원장기록부로 상기 실행 결과 정보와 상기 식별 ID 정보를 포함하는 노드 정보를 전달할 수 있다.In addition, the transaction execution unit includes a plurality of nodes each having a unique identification ID, in the second step, the gateway transmits the request information to each of the plurality of nodes, and in the third step, the plurality of nodes each requests the result information from the external server, in the fourth step, each of the plurality of nodes obtains the result information from the external server, and in the fifth step, each of the plurality of nodes uses the gateway and the The node information including the execution result information and the identification ID information may be transmitted to the ledger recording unit.

또, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건일 수 있다.In addition, 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 predetermined matching rate.

또, 상기 노드 정보는 상기 제4 단계에서의 상기 결과 정보의 획득 시점을 더 포함하고, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상이며, 상기 획득 시점의 차이가 기 설정된 시간 차이 이하일 수 있다.In addition, the node information further includes the acquisition time of the result information in the fourth step, and the predetermined condition is that the execution result information obtained from the plurality of nodes is equal to or greater than a preset coincidence rate, and the acquisition time The difference may be less than or equal to a preset time difference.

본 발명의 다른 일 실시예에 따른 블록체인 외부 입력 검증 시스템은 블록체인에 소정의 정보를 기록하는 원장기록부; 검증이 필요한 요청 정보를 획득하는 게이트웨이; 및 상기 게이트웨이로부터 상기 요청 정보를 전달받고, 외부 서버로 상기 요청 정보를 수행하기 위해 검증이 필요한 결과 정보를 요청하는 트랜잭션 실행부;를 포함하며, 상기 트랜잭션 실행부는 상기 외부 서버로부터 결과 정보를 획득하고, 상기 결과 정보를 기초로 한 트랜잭션 실행 결과 정보를 생성하며, 상기 게이트웨이 및 상기 원장기록부로 상기 실행 결과 정보를 전달하며, 상기 게이트웨이 및 상기 원장기록부는 상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하며, 상기 원장기록부는 상기 미리 정해진 조건을 만족하는 경우 블록체인에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며, 상기 게이트웨이는 상기 미리 정해진 조건을 만족하지 않는 경우 상기 트랜잭션 실행부로 상기 요청 정보를 재 전달할 수 있다.A block chain external input verification system according to another embodiment of the present invention includes a ledger record unit for recording predetermined information in a block chain; a gateway for obtaining request information requiring verification; and a transaction execution unit that receives the request information from the gateway and requests result information that requires verification to perform the request information to an external server, wherein the transaction execution unit obtains result information from the external server and , generates transaction execution result information based on the result information, and transmits the execution result information to the gateway and the ledger recorder, and the gateway and the ledger recorder determine whether the execution result information satisfies a predetermined condition Verification, and the ledger recorder records the request information and/or the execution result information in the block chain if the predetermined condition is satisfied, and the gateway sends the request to the transaction execution unit if the predetermined condition is not satisfied information can be retransmitted.

또, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며, 상기 게이트웨이는 복수의 상기 노드 각각에 상기 요청 정보를 전달하고, 복수의 상기 노드 각각은 상기 외부 서버로 상기 요청 정보를 요청하며, 상기 외부 서버로부터 상기 결과 정보를 획득하며, 상기 게이트웨이 및 상기 원장기록부로 상기 실행 결과 정보와 상기 식별 ID 정보를 포함하는 노드 정보를 전달할 수 있다.In addition, the transaction execution unit includes a plurality of nodes each having a unique identification ID, the gateway transmits the request information to each of the plurality of nodes, and each of the plurality of nodes sends the request information to the external server request, obtain the result information from the external server, and transmit node information including the execution result information and the identification ID information to the gateway and the ledger recorder.

또, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건일 수 있다.In addition, 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 predetermined matching rate.

또, 상기 노드 정보는 상기 외부 서버로부터의 상기 결과 정보의 획득 시점을 더 포함하고, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상이며, 상기 획득 시점의 차이기 기 설정된 시간 차이 이하일 수 있다.In addition, the node information further includes a time point of obtaining the result information from the external server, and the predetermined condition is that the execution result information obtained from the plurality of nodes is equal to or greater than a preset coincidence rate, and the difference between the acquisition time points It may be less than the time difference set by the device.

각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.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 showing that a blockchain external input validation system implementing a blockchain external input validation method according to an embodiment of the present invention communicates with other devices.

도 2는 본 발명의 일 실시예에 따른 블록체인 외부 입력 검증 방법을 구현하는 블록체인 외부 입력 검증 시스템의 개략 구성도이다.2 is a schematic configuration diagram of a blockchain external input validation system implementing a blockchain external input validation 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 an 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 another 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 smart contract system 10 .

일례로, 도 1 및 도 2에 도시한 바와 같이, 상기 스마트 컨트랙트 시스템(10)은 사용자의 전자장치(E), 외부 서버(S) 및 블록체인(B)과 통신할 수 있다.For example, as shown in FIGS. 1 and 2 , the smart contract system 10 may communicate with the user's electronic device (E), an external server (S), and a block chain (B).

일례로, 상기 스마트 컨트랙트 시스템(10)은 사용자의 전자장치(E), 외부 서버(S) 및 블록체인(B)과 통신할 수 있는 통신부(200), 관리자로부터 소정의 데이터, 정보를 입력받는 입력부(300), 소정의 데이터, 정보를 저장하는 메모리부(400), 소정의 데이터, 정보를 디스플레이하는 디스플레이부(500) 및 상기 스마트 컨트랙트 방법을 구현하는데 필요한 정보를 연산, 제어, 처리하는 처리부(100)를 포함할 수 있다.As an example, the smart contract system 10 receives predetermined data and information from a communication unit 200 that can communicate with the user's electronic device (E), an external server (S), and a block chain (B), and a manager. An input unit 300, a memory unit 400 for storing predetermined data and information, a display unit 500 for displaying predetermined data and information, and a processing unit for calculating, controlling, and processing information required to implement the smart contract method (100) may be included.

여기서, 상기 처리부(100)는 아래에서 더욱 자세히 설명될 게이트웨이(110), 트랜잭션 실행부(120) 및 원장기록부(130)를 더 포함할 수 있다.Here, the processing unit 100 may further include a gateway 110 , a transaction execution unit 120 , and a ledger recording unit 130 , which will be described in more detail below.

이하에서는, 도 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 gateway 110 obtains request information for an external input requiring verification.

일례로, 상기 요청 정보는 사용자가 자신의 전자장치(E)를 통해 상기 게이트웨이(110)로 입력하는 정보일 수 있다.For example, the request information may be information input by a user to the gateway 110 through his/her electronic device E.

일례로, 상기 요청 정보는 블록체인(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 gateway 110 , and the gateway 110 may be implemented by obtaining request information requiring verification from a user.

여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 게이트웨이(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 gateway 110 transmits the request information to the transaction execution unit 120, the transaction execution unit 120 transmits the request information to the external server ( A third step (③) of requesting result information requiring verification to perform the requested information as S) and a fourth step (④) in which the transaction execution unit 120 obtains the result information from the external server (S) ) may be further included.

일례로, 상기 트랜잭션 실행부(120)는 상기 외부 서버(S)와 통신하여 상기 외부 서버(S)로부터 상기 요청 정보를 수행하기 위해 검증이 필요한 결과 정보를 획득하는 구성일 수 있다.For example, the transaction execution unit 120 may be configured to communicate with the external server (S) to obtain result information requiring verification to perform the request information from the external server (S).

즉, 상기 트랜잭션 실행부(120)는 상기 게이트웨이(110)로부터 상기 요청 정보를 전달받고, 상기 외부 서버(S)로 상기 요청 정보를 수행하기 위해 검증이 필요한 경우 상기 결과 정보를 요청하며, 상기 외부 서버(S)로부터 검증이 필요한 상기 요청 정보에 대한 결과인 상기 결과 정보를 획득하는 구성일 수 있다.That is, the transaction execution unit 120 receives the request information from the gateway 110 and requests the result information when verification is required to perform the request information to the external server S, It may be configured to obtain the result information that is a result of the request information that requires verification from the server (S).

일례로, 상기 트랜잭션 실행부(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 transaction execution unit 120 sends the transaction execution unit 120 to the external server S, a national biological species knowledge information system (example). access to obtain the result information (eg, "an apple is a fruit" or "an apple is not a fruit") for the requested information, and the requested information is "If A is elected in the election, B In the case of “transfer 1 million won to A”, the transaction execution unit 120 determines whether A has been elected in the election by accessing the external server (S), the National Election Commission system (example), and adding it to the request information. It is possible to obtain the result information (eg, "A was elected in an election" or "A was not elected in an election") for the

여기서, 일례로, 상기 트랜잭션 실행부(120)는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함할 수 있다.Here, as an example, the transaction execution unit 120 may include a plurality of nodes each having a unique identification ID.

도면에는, 상기 트랜잭션 실행부(120)가 제1 노드(EP1), 제2 노드(EP2) 및 제3 노드(EP3)인 총 3개의 노드를 포함하는 것으로 도시하였으나, 상기 트랜잭션 실행부(120)는 수십, 수백, 수천개의 노드를 포함할 수도 있다.Although the figure shows that the transaction execution unit 120 includes a total of three nodes, the first node EP1, the second node EP2, and the third node EP3, the transaction execution unit 120 may include tens, hundreds, or thousands of nodes.

복수의 상기 노드는 각각 다른 노드들과 다른 고유의 상기 식별 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 gateway 110 may transmit the request information to each of the plurality of nodes in parallel.

즉, 상기 게이트웨이(110)는 수많은 상기 노드들 중에 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 상기 요청 정보를 전달할 수 있다.That is, the gateway 110 may transmit the request information to each of the first node EP1 , the second node EP2 , and the third node EP3 among the numerous nodes.

이 때, 상기 게이트웨이(110)는 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 상기 요청 정보를 전달한다는 전달 정보(복수의 상기 노드들 중에서 어느 노드에 전달하는지에 대한 정보)를 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 전달할 수도 있다.At this time, the gateway 110 transmits the request information to each of the first node EP1 , the second node EP2 , and the third node EP3 (any one of the plurality of nodes). information on whether to transmit the information to the node) may be transmitted to each of the first node EP1 , the second node EP2 , and the third node EP3 .

또한, 상기 제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 transaction execution unit 120 transmits the transaction execution result information based on the result information to the gateway 110 and the ledger recording unit 130 . (⑤, ⑥) may be further included.

즉, 상기 트랜잭션 실행부(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 transaction execution unit 120 are each based on the result information obtained from the external server S to generate the execution result information, and transmit the execution result information to the gateway 110 and the ledger recording unit 130 .

예를 들어, 상기 실행 결과 정보는 "사과는 과일임을 확인하였다" 또는 "사과는 과일이 아님을 확인하였다"라는 정보일 수 있고, "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 transaction execution unit 120 indicate that the result information is “an apple is not a fruit” or In the case of information that "A was not elected in the election", the execution result information may not be generated. As a result, in that the execution result information is not generated, the first node EP1 , the second node EP2 , and the third node EP3 of the transaction execution unit 120 are connected to the gateway 110 . ) and the ledger recording unit 130 may not deliver the execution result information.

여기서, 상기 트랜잭션 실행부(120)의 복수의 노드는 각각 상기 게이트웨이(110) 및 상기 원장기록부(130)로 상기 실행 결과 정보와 상기 식별 ID 정보를 포함하는 노드 정보를 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.Here, the plurality of nodes of the transaction execution unit 120 may transmit node information including the execution result information and the identification ID information to the gateway 110 and the ledger recording unit 130, respectively. In addition, the delivery information may be delivered.

여기서, 상기 노드 정보는 상기 식별 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 gateway 110 and the ledger recorder 130 . acquisition time) may be transmitted.

여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하는 제6 단계를 더 포함할 수 있다.Here, as an example, the block chain external input verification method may further include a sixth step of verifying, by the gateway 110 and the ledger recording unit 130, whether the execution result information satisfies a predetermined condition.

즉, 상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는지 여부를 판단할 수 있다.That is, each of the gateway 110 and the ledger recording unit 130 may determine whether the execution result information obtained from the plurality of nodes satisfies the predetermined condition.

여기서, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건일 수 있도 있고, 하나 이상의 특정 노드로부터 상기 실행 결과 정보가 포함되어야 하는 조건일 수 있다.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 gateway 110 and the ledger recording unit 130 may calculate a matching rate of the execution result information obtained from the first node EP1, the second node EP2, and the third node EP3. there is.

만약, 상기 제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 gateway 110 and the ledger recording unit 130 first determine whether the difference between the acquisition times satisfies a preset time difference or less, and if not satisfied, the It may not be determined whether the execution result information is equal to or greater than a preset matching rate.

그 결과, 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 결과 정보가 기 설정된 일치율 이상인지 여부를 판단하는데 소요되는 부하를 최소화할 수 있다.As a result, the load required for the gateway 110 and the ledger recording unit 130 to determine whether the execution result information is equal to or greater than a preset matching rate can be minimized.

여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부(130)가 블록체인(B)에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 제7 단계를 더 포함할 수 있다.Here, as an example, in the block chain external input verification method, when the predetermined condition is satisfied, the ledger recording unit 130 records the request information and/or the execution result information in the block chain B, and the The method may further include a seventh step of re-transmitting the request information to the transaction execution unit 120 by the gateway 110 when the predetermined condition is not satisfied.

즉, 상기 원장기록부(130)는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 블록체인(B)에 상기 요청 정보 및/또는 상기 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하기 않는 경우 상기 요청 정보 및/또는 상기 실행 결과 정보를 삭제(파기)할 수 있다.That is, the ledger recording unit 130 records the request information and/or the result information in the block chain B when the execution result information satisfies the predetermined condition, and when the predetermined condition is not satisfied The request information and/or the execution result information may be deleted (discarded).

또한, 상기 게이트웨이(110)는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 이러한 사실 정보 및 블록체인(B)에 입력(기록)한 사실 정보를 사용자의 전자장치(E)로 전달할 수 있고, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달할 수 있다.In addition, when the execution result information satisfies the predetermined condition, the gateway 110 may transmit this fact information and the fact information input (recorded) in the block chain B to the user's electronic device E, , when the predetermined condition is not satisfied, the request information may be retransmitted to the transaction execution unit 120 .

여기서, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 경우, 앞서 설명한 상기 제3 단계, 상기 제4 단계, 상기 제5 단계, 상기 제 6 단계가 순차적으로 재 구현될 수 있다.Here, when the gateway 110 re-delivers the request information to the transaction execution unit 120, the above-described third step, the fourth step, the fifth step, and the sixth step are sequentially re-transmitted. can be implemented.

한편, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 경우, 상기 게이트웨이(110)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 요청 정보를 전달할 수 있다.Meanwhile, when the gateway 110 retransmits the request information to the transaction execution unit 120 , the gateway 110 transmits the first node EP1 , the second node EP2 , and the The request information may be transmitted to a plurality of nodes other than the third node EP3.

그 결과, 앞서 전달한 상기 제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 gateway 110 acquiring command information to command the external server S. may include

즉, 상기 게이트웨이(110)는 사용자의 전자장치(E)로부터 상기 명령 정보를 획득할 수도 있고, 앞서 설명한 상기 블록체인 외부 입력 검증 방법에 의해 상기 명령 정보를 획득할 수도 있다.That is, the gateway 110 may obtain the command information from the user's electronic device E, or may obtain the command information by the above-described block chain external input verification method.

이를 보다 자세히 설명하자면, 상기 게이트웨이(110)는 사용자로부터 'B는 A에게 100만원을 이체한다'라는 상기 명령 정보를 획득할 수도 있고, 상기 블록체인 외부 입력 검증 방법에서 상기 요청 정보인 'A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다'라는 정보에서 "A가 선거에서 당선되었음을 확인하였다"라는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 'B는 A에게 100만원을 이체한다'라는 상기 명령 정보가 생성되어 획득될 수도 있다.To explain this in more detail, the gateway 110 may obtain the command information 'B transfers 1 million won to A' from the user, and in the block chain external input verification method, the request information 'A If the information as a result of the execution of "I confirmed that A has been elected in the election" in the information 'B transfers 1 million won to A' if elected in the election, 'B transfers 1 million won to A' The command information 'to transfer' may be generated and obtained.

여기서, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 게이트웨이(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 gateway 110 transmits the command information to the transaction execution unit 120 and the transaction execution unit ( 120) may further include a third step (③) of transmitting the command information to the external server (S).

일례로, 상기 제2 단계에서 상기 게이트웨이(110)는 복수의 상기 노드 각각으로 상기 명령 정보를 전달할 수 있다.For example, in the second step, the gateway 110 may transmit the command information to each of the plurality of nodes.

즉, 상기 게이트웨이(110)는 복수의 상기 노드들 중 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)에게 각각 병렬적으로 상기 명령 정보를 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.That is, the gateway 110 may transmit the command information in parallel to the first node EP1 , the second node EP2 , and the third node EP3 among the plurality of nodes, respectively. In addition, the delivery information may be delivered.

한편, 일례로, 상기 제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, 'B transfers 1 million won to A', is data composed of "A, B, C, D", the first node EP1 is "A, B, Generates the divided command information that is “A, B, C” which is a part of “C, D”, and the second node EP2 is “A, B, D” that is a part of “A, B, C, D” Generates the divided command information, and the third node EP3 generates the divided command information that is "B, C, D" which is a part of "A, B, C, D", The command information divided into S) may be transmitted.

여기서, 일례로, 상기 제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 transaction execution unit 120 are "A If is elected in the election, the result information “A has been elected in the election” can be obtained from the external server S for the requested information “B transfers 1 million won to A”, and A As it is confirmed that the election has been won, it is also possible to generate the command information "B transfers 1 million won to A" and transmit the command information to the external server S.

한편, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 외부 서버(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 'B transfers 1 million won to A', and transfers 1 million won from B's account to A's account. can

한편, 일례로, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되며, 상기 암호 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수도 있다.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 gateway 110, at this time The gateway 110 may retransmit the command information to the transaction execution unit 120 .

한편, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 명령 정보를 재 전달하는 경우, 상기 게이트웨이(110)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 명령 정보를 전달할 수 있다.Meanwhile, when the gateway 110 retransmits the command information to the transaction execution unit 120 , the gateway 110 transmits the first node EP1 , the second node EP2 , and the The command information may be transmitted to a plurality of nodes other than the third node EP3.

그 결과, 앞서 전달한 상기 제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, which is one configuration 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 transaction execution unit 120 obtains the encrypted feedback information from the proxy P, and decrypts the feedback information. may include

상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1)는 상기 프록시(P)로부터 자신의 공개키로 암호화된 B의 계좌에서 A의 계좌로 100만원을 이체한 정보인 상기 피드백 정보를 전달받을 수 있으며, 자신의 비 공개키를 이용하여 암호화된 상기 피드백 정보를 복호화할 수 있다.The first node EP1 of the transaction execution unit 120 may receive the feedback information from the proxy P, which is information about transferring 1 million won from the account of B encrypted with its public key to the account of A. In addition, it is possible to decrypt the encrypted feedback information using its own private key.

마찬가지로, 상기 제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 transaction execution unit 120 generates and delivers transaction execution feedback information based on the feedback information to the gateway 110 and the ledger recording unit 130 . A third step (④, ⑤) may be further included.

즉, 복수의 상기 노드 각각은 복호화한 상기 피드백 정보를 바탕으로 트랜잭션 실행 결과인 상기 실행 피드백 정보를 생성하고 상기 게이트웨이(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 gateway 110 and the ledger recording unit 130 . In addition, the forwarding information and the node information may also be transmitted.

일례로, 상기 실행 피드백 정보는 "B의 계좌에서 A의 계좌로 100만원을 이체하였다"라는 정보일 수 있고, 또한 "A가 선거에서 당선되었음이 확인되어 B의 계좌에서 A의 계좌로 100만원을 이체하였다"라는 정보일 수도 있다.For 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 because 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 gateway 110 and the ledger recording unit 130, whether the execution feedback information satisfies a predetermined condition.

즉, 상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는지 여부를 판단할 수 있다.That is, each of the gateway 110 and the ledger recording unit 130 may determine whether the execution feedback information obtained from the plurality of nodes satisfies the predetermined condition.

여기서, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건일 수 있다.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 gateway 110 and the ledger recording unit 130 may calculate a matching rate of the execution feedback information obtained from the first node EP1, the second node EP2, and the third node EP3. there is.

만약, 상기 제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)는 상기 복호 시점의 차이가 기 설정된 시간 차이 이하를 만족하는지 여부를 먼저 판단하고, 이를 만족하지 않는다면 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건의 만족 여부를 판단하지 않을 수 있다.Here, as an example, the gateway 110 and the ledger recording unit 130 first determine whether the difference between the decoding time points satisfies a preset time difference or less, and if not satisfied, the data obtained from the plurality of nodes It may not be determined whether the execution feedback information satisfies a preset agreement condition.

그 결과, 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는지 여부를 판단하는데 소요되는 부하를 최소화할 수 있다.As a result, the load required for the gateway 110 and the ledger recording unit 130 to determine whether the execution feedback information satisfies a preset agreement condition can be minimized.

여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부(130)가 블록체인(B)에 상기 실행 피드백 정보를 기록하는 제5 단계(⑥)를 더 포함할 수 있다.Here, as an example, the feedback information block chain recording method further includes a fifth step (⑥) in which the ledger recording unit 130 records the execution feedback information in the block chain B when the predetermined condition is satisfied. can do.

또한, 일례로 상기 제5 단계는 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 재송신을 요청할 수 있다.Also, as an example, in the fifth step, when the execution feedback information does not satisfy the predetermined condition, the gateway 110 may request retransmission of the feedback information to the external server S.

즉, 상기 원장기록부(130)는 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는 경우 블록체인(B)에 상기 실행 피드백 정보를 기록하며, 상기 미리 정해진 조건을 만족하기 않는 경우 상기 실행 피드백 정보를 삭제(파기)할 수 있다.That is, the ledger recording unit 130 records the execution feedback information in the block chain B when the execution feedback information satisfies the predetermined condition, and records the execution feedback information when the predetermined condition is not satisfied. It can be deleted (destroyed).

또한, 상기 게이트웨이(110)는 상기 피드백 정보가 상기 미리 정해진 조건을 만족하는 경우 이러한 사실 정보 및 블록체인(B)에 입력(기록)한 사실 정보를 사용자의 전자장치(E)로 전달할 수 있고, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청할 수 있다.In addition, when the feedback information satisfies the predetermined condition, the gateway 110 may transmit this fact information and the fact information input (recorded) in the block chain B to the user's electronic device E, If the predetermined condition is not satisfied, the transmission of the feedback information to the external server S may be requested again.

여기서, 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청 경우, 앞서 설명한 상기 제3 단계, 상기 제4 단계가 순차적으로 재 구현될 수 있다.Here, when the gateway 110 re-requests delivery of the feedback information to the external server S, the third step and the fourth step described above may be sequentially re-implemented.

한편, 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청하는 경우, 상기 외부 서버(S)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 피드백 정보를 전달할 수 있다.On the other hand, when the gateway 110 re-requests delivery of the feedback information to the external server S, the external server S transmits the first node EP1 and the second node EP2 previously. and the feedback information may be transmitted to a plurality of nodes other than the third node EP3.

그 결과, 앞서 전달한 상기 제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 단계;
상기 게이트웨이 및 상기 원장기록부가 상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하는 제6 단계; 및
상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부가 블록체인에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며,
상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이가 상기 트랜잭션 실행부로 상기 요청 정보를 재 전달하는 제7 단계;를 포함하며,
상기 트랜잭션 실행부는,
각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며,
상기 제2 단계는,
상기 게이트웨이가 복수의 상기 노드 각각에 상기 요청 정보를 전달하고,
상기 제3 단계는,
복수의 상기 노드 각각이 상기 외부 서버로 상기 결과 정보를 요청하며,
상기 제4 단계는,
복수의 상기 노드 각각이 상기 외부 서버로부터 상기 결과 정보를 획득하며,
상기 제5 단계는,
복수의 상기 노드 각각이 상기 게이트웨이 및 상기 원장기록부로 상기 실행 결과 정보와 상기 식별 ID 정보를 포함하는 노드 정보를 전달하는,
블록체인 외부 입력 검증 방법.
In the blockchain external input verification method,
A first step of obtaining, by the gateway, request information for an external input requiring verification;
a second step in which the gateway transmits the request information to a transaction execution unit;
a third step of requesting, by the transaction execution unit, result information requiring verification to perform the request information to an external server;
a fourth step of the transaction execution unit obtaining result information from the external server;
a fifth step of transmitting, by the transaction execution unit, transaction execution result information based on the result information to the gateway and the ledger recording unit;
a sixth step of verifying, by the gateway and the ledger recorder, whether the execution result information is satisfied with a predetermined condition; and
When the predetermined condition is satisfied, the ledger recorder records the request information and/or the execution result information in the block chain,
a seventh step of retransmitting the request information to the transaction execution unit by the gateway when the predetermined condition is not satisfied;
The transaction execution unit,
A plurality of nodes each having a unique identification ID,
The second step is
The gateway forwards the request information to each of the plurality of nodes,
The third step is
Each of the plurality of nodes requests the result information to the external server,
The fourth step is
Each of the plurality of nodes obtains the result information from the external server,
The fifth step is
Each of the plurality of nodes transmits node information including the execution result information and the identification ID information to the gateway and the ledger recording unit,
Blockchain external input verification method.
삭제delete 제1항에 있어서,
상기 미리 정해진 조건은,
복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건인,
블록체인 외부 입력 검증 방법.
According to claim 1,
The predetermined condition is
A condition in which the execution result information obtained from the plurality of nodes is equal to or greater than a preset matching rate,
Blockchain external input verification method.
제3항에 있어서,
상기 노드 정보는,
상기 제4 단계에서의 상기 결과 정보의 획득 시점을 더 포함하고,
상기 미리 정해진 조건은,
복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상이며, 상기 획득 시점의 차이가 기 설정된 시간 차이 이하인,
블록체인 외부 입력 검증 방법.
4. The method of claim 3,
The node information is
Further comprising the acquisition time of the result information in the fourth step,
The predetermined condition is
The execution result information obtained from the plurality of nodes is equal to or greater than a preset coincidence rate, and the difference between the acquisition times is less than or equal to a preset time difference,
Blockchain external input verification method.
블록체인 외부 입력 검증 시스템에 있어서,
블록체인에 소정의 정보를 기록하는 원장기록부;
검증이 필요한 요청 정보를 획득하는 게이트웨이; 및
상기 게이트웨이로부터 상기 요청 정보를 전달받고, 외부 서버로 상기 요청 정보를 수행하기 위해 검증이 필요한 결과 정보를 요청하는 트랜잭션 실행부;를 포함하며,
상기 트랜잭션 실행부는,
상기 외부 서버로부터 결과 정보를 획득하고, 상기 결과 정보를 기초로 한 트랜잭션 실행 결과 정보를 생성하며,
상기 게이트웨이 및 상기 원장기록부로 상기 실행 결과 정보를 전달하며,
상기 게이트웨이 및 상기 원장기록부는
상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하며,
상기 원장기록부는,
상기 미리 정해진 조건을 만족하는 경우 블록체인에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며,
상기 게이트웨이는,
상기 미리 정해진 조건을 만족하지 않는 경우 상기 트랜잭션 실행부로 상기 요청 정보를 재 전달하며,
상기 트랜잭션 실행부는,
각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며,
상기 게이트웨이는,
복수의 상기 노드 각각에 상기 요청 정보를 전달하고,
복수의 상기 노드 각각은,
상기 외부 서버로 상기 결과 정보를 요청하며,
상기 외부 서버로부터 상기 결과 정보를 획득하며,
상기 게이트웨이 및 상기 원장기록부로 상기 실행 결과 정보와 상기 식별 ID 정보를 포함하는 노드 정보를 전달하는,
블록체인 외부 입력 검증 시스템.
In the blockchain external input verification system,
a ledger record unit for recording predetermined information in the block chain;
a gateway for obtaining request information requiring verification; and
a transaction execution unit receiving the request information from the gateway and requesting result information requiring verification to perform the request information to an external server; and
The transaction execution unit,
Obtaining result information from the external server, and generating transaction execution result information based on the result information,
transmits the execution result information to the gateway and the ledger recording unit,
The gateway and the ledger record unit
Verifies the execution result information as to whether a predetermined condition is satisfied,
The ledger record is
When the predetermined condition is satisfied, the request information and/or the execution result information is recorded in the block chain,
The gateway is
If the predetermined condition is not satisfied, the request information is retransmitted to the transaction execution unit,
The transaction execution unit,
A plurality of nodes each having a unique identification ID,
The gateway is
forwarding the request information to each of the plurality of nodes;
Each of the plurality of nodes,
request the result information to the external server,
Obtaining the result information from the external server,
Transmitting node information including the execution result information and the identification ID information to the gateway and the ledger recording unit,
Blockchain external input verification system.
삭제delete 제5항에 있어서,
상기 미리 정해진 조건은,
복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건인,
블록체인 외부 입력 검증 시스템.
6. The method of claim 5,
The predetermined condition is
A condition in which the execution result information obtained from the plurality of nodes is equal to or greater than a preset matching rate,
Blockchain external input verification system.
제7항에 있어서,
상기 노드 정보는,
상기 외부 서버로부터의 상기 결과 정보의 획득 시점을 더 포함하고,
상기 미리 정해진 조건은,
복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상이며, 상기 획득 시점의 차이기 기 설정된 시간 차이 이하인,
블록체인 외부 입력 검증 시스템.
8. The method of claim 7,
The node information is
Further comprising a time point of obtaining the result information from the external server,
The predetermined condition is
The execution result information obtained from the plurality of nodes is greater than or equal to a preset coincidence rate, and the difference between the acquisition times is less than or equal to a preset time difference,
Blockchain external input verification system.
KR1020210163599A 2021-11-24 2021-11-24 Method and system for verifying external input KR102391185B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210163599A KR102391185B1 (en) 2021-11-24 2021-11-24 Method and system for verifying external input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210163599A KR102391185B1 (en) 2021-11-24 2021-11-24 Method and system for verifying external input

Publications (1)

Publication Number Publication Date
KR102391185B1 true KR102391185B1 (en) 2022-04-28

Family

ID=81448078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210163599A KR102391185B1 (en) 2021-11-24 2021-11-24 Method and system for verifying external input

Country Status (1)

Country Link
KR (1) KR102391185B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190118630A (en) * 2017-03-24 2019-10-18 알리바바 그룹 홀딩 리미티드 Method and apparatus for consensus verification
KR20210056744A (en) * 2019-11-11 2021-05-20 한국전자기술연구원 External information recognizing and information providing method using blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190118630A (en) * 2017-03-24 2019-10-18 알리바바 그룹 홀딩 리미티드 Method and apparatus for consensus verification
KR20210056744A (en) * 2019-11-11 2021-05-20 한국전자기술연구원 External information recognizing and information providing method using blockchain

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
KR101975822B1 (en) Private blockchain network system and method for consensus based on blockchain
US20220231869A1 (en) Cross-blockchain mutual data storage
US11316668B2 (en) Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information
US10735397B2 (en) Systems and methods for distributed identity verification
CN111818032B (en) Data processing method and device based on cloud platform and computer program
CN108429759B (en) Decentralized storage safety implementation method
CN106911513B (en) trusted device management method based on decentralized network
US20170372083A1 (en) Secure transaction method from a non-secure terminal
TW201914254A (en) Method, apparatus and system for data encryption and decryption
CN110460439A (en) Information transferring method, device, client, server-side and storage medium
US10116445B2 (en) Method and system for protected exchange of data
CN109450910A (en) Data sharing method, data sharing network and electronic equipment based on block chain
CN109525671A (en) Date storage method, electronic equipment and storage medium based on block chain
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
JP2005537559A (en) Secure record of transactions
EP3808030B1 (en) Managing blockchain-based centralized ledger systems
CN111464295B (en) Bank card making method and device
CN114866323B (en) User-controllable privacy data authorization sharing system and method
EP3891617A1 (en) Secure consensus over a limited connection
CN110365472B (en) Quantum communication service station digital signature method and system based on asymmetric key pool pair
US11563575B2 (en) Communication node, method of operating thereof and collaborative system
CN116938985B (en) Data streaming method, device, terminal equipment and medium based on digital certificates
CN109960512A (en) A kind of software deployment method and system
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