KR102391186B1 - 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템 - Google Patents
비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템 Download PDFInfo
- Publication number
- KR102391186B1 KR102391186B1 KR1020210163607A KR20210163607A KR102391186B1 KR 102391186 B1 KR102391186 B1 KR 102391186B1 KR 1020210163607 A KR1020210163607 A KR 1020210163607A KR 20210163607 A KR20210163607 A KR 20210163607A KR 102391186 B1 KR102391186 B1 KR 102391186B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- command information
- command
- external server
- nodes
- Prior art date
Links
Images
Classifications
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0827—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 게이트웨이가 외부 서버에 명령할 명령 정보를 획득하는 제1 단계; 게이트웨이가 트랜잭션 실행부로 상기 명령 정보를 전달하는 제2 단계; 및 상기 트랜잭션 실행부가 상기 외부 서버로 상기 명령 정보를 전달하는 제3 단계;를 포함하며, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며, 상기 제3 단계는 복수의 상기 노드 각각이 상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보를 상기 외부 서버로 전달할 수 있다.
Description
본 발명은 블록체인 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 외부 서버로 소정의 명령어를 전달하는 과정에서 명령어의 신뢰성을 확보하기 위한 블록체인 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템에 관한 것이다.
블록체인(block chain)은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다.
이는 근본적으로 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다.
그러나, 이러한 블록체인 시스템도 기술적 제약이 있다.
예를 들어, 블록체인 시스템은 외부 시스템과 능동적으로 연동될 수 없으며, 주체적으로 데이터를 기록하는 것이 어렵다.
한편, 이러한 한계를 극복하고자 오라클(oracle)이 고안되었다.
오라클은 블록체인 외부의 데이터를 블록체인 안으로 들여오고, 블록체인의 데이터를 외부로 내보내는 것을 말한다. 오라클은 고립된 블록체인 생태계를 외부와 연결 시켜주는 하나의 다리(bridge) 역할을 한다.
그러나, 오라클 시스템을 통해서 블록체인과 외부 시스템과의 연동은 가능해졌으나, 외부 시스템에서 입력되는 데이터의 검증이 이루어지지 않아 데이터의 신뢰성을 보장할 수 없는 한계가 있다.
한편, 대한민국 등록특허 제10-2288776 B1 (2021.08.05)호에서는 블록체인의 거래검증시스템, 및 블록체인의 거래검증방법을 개시하고 있으나, 이 역시 외부정보에 대한 검증이 이루어지지 않는 한계가 있다.
본 발명은 상기와 같은 문제를 해결하기 위한 것으로서, 외부 서버로 소정의 명령어를 전달하는 과정에서 명령어의 신뢰성을 확보할 수 있는 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템을 제공하고자 함이다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 게이트웨이가 외부 서버에 명령할 명령 정보를 획득하는 제1 단계; 게이트웨이가 트랜잭션 실행부로 상기 명령 정보를 전달하는 제2 단계; 및 상기 트랜잭션 실행부가 상기 외부 서버로 상기 명령 정보를 전달하는 제3 단계;를 포함하며, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며, 상기 제3 단계는 복수의 상기 노드 각각이 상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보를 상기 외부 서버로 전달할 수 있다.
본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법에 의하면, 외부 서버로 소정의 명령어를 전달하는 과정에서 명령어의 신뢰성을 확보할 수 있는 장점이 있다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 구현하는 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템이 타 장치와 통신하는 것을 도시한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 구현하는 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템의 개략 구성도이다.
도 3는 본 발명의 다른 일 실시예에 따른 블록체인 외부 입력 검증 방법을 설명하기 위한 개략 구성도이다.
도 4는 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 설명하기 위한 개략 구성도이다.
도 5는 본 발명의 또 다른 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 설명하기 위한 개략 구성도이다.
도 2는 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 구현하는 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템의 개략 구성도이다.
도 3는 본 발명의 다른 일 실시예에 따른 블록체인 외부 입력 검증 방법을 설명하기 위한 개략 구성도이다.
도 4는 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 설명하기 위한 개략 구성도이다.
도 5는 본 발명의 또 다른 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 설명하기 위한 개략 구성도이다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 게이트웨이가 외부 서버에 명령할 명령 정보를 획득하는 제1 단계; 게이트웨이가 트랜잭션 실행부로 상기 명령 정보를 전달하는 제2 단계; 및 상기 트랜잭션 실행부가 상기 외부 서버로 상기 명령 정보를 전달하는 제3 단계;를 포함하며, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며, 상기 제3 단계는 복수의 상기 노드 각각이 상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보를 상기 외부 서버로 전달할 수 있다.
또, 상기 제3 단계는 복수의 상기 노드 각각이 비대칭키 암호화 방식을 이용하여 상기 명령 정보를 암호화하여 상기 외부 서버로 전달하고, 상기 외부 서버가 포함하는 복호부가 복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 제4 단계; 및 상기 외부 서버가 포함하는 검증부가 복호화된 분할된 상기 명령 정보를 미리 정해진 조건을 만족하는지 여부로 검증하는 제5 단계;를 더 포함할 수 있다.
또, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되는 조건일 수 있다.
또, 상기 제3 단계는 복수의 상기 노드 각각이 고유의 식별 ID 정보 및 상기 명령 정보를 암호화한 암호 시점을 상기 외부 서버로 전달하고, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되며, 상기 암호 시점의 차이가 기 설정된 시간 차이 이하일 수 있다.
본 발명의 다른 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템은 외부 서버에 명령할 명령 정보를 획득하는 게이트웨이; 및 게이트웨이로부터 상기 명령 정보를 전달받고, 상기 외부 서버로 상기 명령 정보를 전달하는 트랜잭션 실행부;를 포함하며, 상기 트랜잭션 실행부는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며, 복수의 상기 노드 각각은 상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보를 상기 외부 서버로 전달할 수 있다.
또, 복수의 상기 노드 각각은 비대칭키 암호 방식을 이용하여 상기 명령 정보를 암호화하여 상기 외부 서버로 전달하고, 상기 외부 서버는 복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 복호부; 및 복호화된 분할된 상기 명령 정보를 미리 정해진 조건을 만족하는지 여부로 검증하는 검증부;를 포함할 수 있다.
또, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되는 조건일 수 있다.
또, 복수의 상기 노드 각각은 고유의 식별 ID 정보 및 상기 명령 정보를 암호화한 암호 시점을 상기 외부 서버로 전달하고, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되며, 상기 암호 시점의 차이가 기 설정된 시간 차이 이하일 수 있다.
각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 구현하는 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템이 타 장치와 통신하는 것을 도시한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 구현하는 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템의 개략 구성도이다.
도 3는 본 발명의 다른 일 실시예에 따른 블록체인 외부 입력 검증 방법을 설명하기 위한 개략 구성도이다.
도 4는 본 발명의 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법을 설명하기 위한 개략 구성도이다.
도 5는 본 발명의 또 다른 일 실시예에 따른 피드백 정보 블록체인 기록 방법을 설명하기 위한 개략 구성도이다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위하여, 본 발명의 기술적 사상과 관련성이 떨어지거나 당업자로부터 용이하게 도출될 수 있는 부분은 간략화 하거나 생략하였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하에서는 도 1 내지 도 5를 참조하여 본 발명에 대해 자세히 설명하겠다.
우선, 본 발명의 일 실시예에 따른 블록체인 외부 입력 검증 방법은 블록체인(B)을 이용한 스마트 컨트랙트 방법 및 시스템 중 일부를 구성하는 구성요소일 수 있다.
즉, 상기 스마트 컨트랙트 방법은 크게, 도3에 도시한 본 발명의 일 실시예에 따른 블록체인 외부 입력 검증 방법(단계), 도 4에 도시한 본 발명의 다른 일 실시예에 따른 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법(단계) 및 도 5에 도시한 본 발명의 또 다른 일 실시예에 따른 피드백 정보 블록체인 기록 방법(단계)를 포함할 수 있다.
일례로, 상기 블록체인 외부 입력 검증 방법(단계), 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법(단계) 및 상기 피드백 정보 블록체인 기록 방법(단계)은 시계열 순으로 순차적으로 구현되는 상기 스마트 컨트랙트 방법의 일 구성일 수 있다.
일례로, 상기 스마트 컨트랙트 방법은 상기 스마트 컨트랙트 시스템(10)에 의해 구현될 수 있다.
일례로, 도 1 및 도 2에 도시한 바와 같이, 상기 스마트 컨트랙트 시스템(10)은 사용자의 전자장치(E), 외부 서버(S) 및 블록체인(B)과 통신할 수 있다.
일례로, 상기 스마트 컨트랙트 시스템(10)은 사용자의 전자장치(E), 외부 서버(S) 및 블록체인(B)과 통신할 수 있는 통신부(200), 관리자로부터 소정의 데이터, 정보를 입력받는 입력부(300), 소정의 데이터, 정보를 저장하는 메모리부(400), 소정의 데이터, 정보를 디스플레이하는 디스플레이부(500) 및 상기 스마트 컨트랙트 방법을 구현하는데 필요한 정보를 연산, 제어, 처리하는 처리부(100)를 포함할 수 있다.
여기서, 상기 처리부(100)는 아래에서 더욱 자세히 설명될 게이트웨이(110), 트랜잭션 실행부(120) 및 원장기록부(130)를 더 포함할 수 있다.
이하에서는, 도 3 내지 도 5를 참조하여, 상기 스마트 컨트랙트 방법을 구성하는 상기 블록체인 외부 입력 검증 방법(단계), 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법(단계) 및 상기 피드백 정보 블록체인 기록 방법(단계)을 자세히 설명하겠다.
1.
블록체인 외부 입력 검증 방법 및 시스템
도 3은 상기 스마트 컨트랙트 방법 중 일 구성인 상기 블록체인 외부 입력 검증 방법 및 시스템을 설명하기 위한 개략도이다.
상기 블록체인 외부 입력 검증 방법 및 시스템은 블록체인(B)에 입력(저장)할 정보(외부 입력 정보)가 올바른 정보인지를 외부 서버를 통해 확인/검증하기 위한 것이다.
일례로, 도 3에 도시한 바와 같이, 상기 블록체인 외부 입력 검증 방법은 게이트웨이(110)가 검증이 필요한 외부 입력에 대한 요청 정보를 획득하는 제1 단계(①)를 포함할 수 있다.
일례로, 상기 요청 정보는 사용자가 자신의 전자장치(E)를 통해 상기 게이트웨이(110)로 입력하는 정보일 수 있다.
일례로, 상기 요청 정보는 블록체인(B)에 입력(저장)할 정보로서, 진위여부의 검증이 필요한 정보일 수 있다.
예를 들어, 상기 요청 정보는 "사과는 과일이다."라는 정보일 수 있고, "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 정보일 수 있다.
여기서, 상기 요청 정보가 "사과는 과일이다"라는 정보인 경우 사과가 과일인지 진위여부에 대한 검증이 필요하며, "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 정보인 경우 A가 선거에서 당선이 되었는지 진위여부에 대한 검증이 필요할 수 있다.
일례로, 상기 제1 단계는 상기 게이트웨이(110)에 의해 구현될 수 있으며, 상기 게이트웨이(110)가 사용자로부터 검증이 필요한 요청 정보를 획득하여 구현될 수 있다.
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 게이트웨이(110)가 트랜잭션 실행부(120)로 상기 요청 정보를 전달하는 제2 단계(②), 상기 트랜잭션 실행부(120)가 외부 서버(S)로 상기 요청 정보를 수행하기 위해 검증이 필요한 결과 정보를 요청하는 제3 단계(③) 및 상기 트랜잭션 실행부(120)가 상기 외부 서버(S)로부터 결과 정보를 획득하는 제4 단계(④)를 더 포함할 수 있다.
일례로, 상기 트랜잭션 실행부(120)는 상기 외부 서버(S)와 통신하여 상기 외부 서버(S)로부터 상기 요청 정보를 수행하기 위해 검증이 필요한 결과 정보를 획득하는 구성일 수 있다.
즉, 상기 트랜잭션 실행부(120)는 상기 게이트웨이(110)로부터 상기 요청 정보를 전달받고, 상기 외부 서버(S)로 상기 요청 정보를 수행하기 위해 검증이 필요한 경우 상기 결과 정보를 요청하며, 상기 외부 서버(S)로부터 검증이 필요한 상기 요청 정보에 대한 결과인 상기 결과 정보를 획득하는 구성일 수 있다.
일례로, 상기 트랜잭션 실행부(120)는 상기 요청 정보가 "사과는 과일이다"라는 정보인 경우 상기 트랜잭션 실행부(120)는 상기 외부 서버(S)인 국가생물종지식정보시스템(예시)에 접속하여 상기 요청 정보에 대한 상기 결과 정보(예를 들어, "사과는 과일이다" 또는 "사과는 과일이 아니다")를 획득할 수 있고, 상기 요청 정보가 "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 정보인 경우 상기 트랜잭션 실행부(120)는 A가 선거에서 당선되었는지 여부를 상기 외부 서버(S)인 중앙선거관리위원회 시스템(예시)에 접속하여 상기 요청 정보에 대한 상기 결과 정보(예를 들어, "A가 선거에서 당선되었다" 또는 "A가 선거에서 당선되지 않았다")를 획득할 수 있다.
여기서, 일례로, 상기 트랜잭션 실행부(120)는 각각 고유의 식별 ID를 가지는 복수의 노드를 포함할 수 있다.
도면에는, 상기 트랜잭션 실행부(120)가 제1 노드(EP1), 제2 노드(EP2) 및 제3 노드(EP3)인 총 3개의 노드를 포함하는 것으로 도시하였으나, 상기 트랜잭션 실행부(120)는 수십, 수백, 수천개의 노드를 포함할 수도 있다.
복수의 상기 노드는 각각 다른 노드들과 다른 고유의 상기 식별 ID를 가질 수 있다.
여기서, 상기 제2 단계는 상기 게이트웨이(110)가 복수의 상기 노드 각각에 병렬적으로 상기 요청 정보를 전달할 수 있다.
즉, 상기 게이트웨이(110)는 수많은 상기 노드들 중에 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 상기 요청 정보를 전달할 수 있다.
이 때, 상기 게이트웨이(110)는 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 상기 요청 정보를 전달한다는 전달 정보(복수의 상기 노드들 중에서 어느 노드에 전달하는지에 대한 정보)를 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각에 전달할 수도 있다.
또한, 상기 제3 단계는 복수의 상기 노드 각각이 상기 외부 서버(S)로 상기 요청 정보에 대한 상기 결과 정보 요청할 수 있다.
즉, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각은 상기 외부 서버(S)로 상기 요청 정보에 대한 상기 결과 정보를 요청할 수 있다.
또한, 상기 제4 단계는 복수의 상기 노드 각각이 상기 외부 서버(S)로부터 상기 결과 정보를 획득할 수 있다.
즉, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각은 상기 외부 서버(S)로 상기 요청 정보에 대한 상기 결과 정보를 획득할 수 있다.
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 트랜잭션 실행부(120)가 상기 게이트웨이(110) 및 원장기록부(130)로 상기 결과 정보를 기초로 한 트랜잭션 실행 결과 정보를 전달하는 제5 단계(⑤, ⑥)를 더 포함할 수 있다.
즉, 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 각각 상기 외부 서버(S)로부터 획득한 상기 결과 정보를 기초로하여 상기 실행 결과 정보를 생성할 수 있으며, 상기 실행 결과 정보를 상기 게이트웨이(110) 및 상기 상기 원장기록부(130)로 전달할 수 있다.
예를 들어, 상기 실행 결과 정보는 "사과는 과일임을 확인하였다" 또는 "사과는 과일이 아님을 확인하였다"라는 정보일 수 있고, "A가 선거에서 당선되었음을 확인하였다" 또는 "A가 선거에서 당선되지 않았음을 확인하였다"라는 정보일 수 있고, 또는 "A가 선거에서 당선되었음이 확인되어 B에서 A로 100만원을 이체하도록 명령했다(또는 이체했다)" 또는 "A가 선거에서 당선되지 않았음이 확인되어 이체 명령을 하지 않았다"라는 정보일 수 있다.
또한, 일례로, 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 각각 상기 결과 정보가 "사과는 과일이 아니다" 또는 "A가 선거에서 당선되지 않았다"라는 정보인 경우, 상기 실행 결과 정보를 생성하지 않을 수 있다. 그 결과, 상기 실행 결과 정보가 생성되지 않는다는 점에서, 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 상기 게이트웨이(110) 및 원장기록부(130)로 상기 실행 결과 정보를 전달하지 않을 수 있다.
여기서, 상기 트랜잭션 실행부(120)의 복수의 노드는 각각 상기 게이트웨이(110) 및 상기 원장기록부(130)로 상기 실행 결과 정보와 상기 식별 ID 정보를 포함하는 노드 정보를 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.
여기서, 상기 노드 정보는 상기 식별 ID 정보 외에, 상기 외부 서버(S)로부터의 상기 결과 정보의 획득 시점에 대한 정보를 더 포함할 수 있다.
따라서, 상기 제5 단계는 복수의 상기 노드 각각이 상기 게이트웨이(110) 및 상기 원장기록부(130)로 상기 실행 결과 정보와 상기 식별 ID 정보 및 상기 획득 시점(상기 제4 단계에서의 상기 결과 정보의 획득 시점)을 포함하는 노드 정보를 전달할 수 있다.
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 결과 정보를 미리 정해진 조건의 만족 여부로 검증하는 제6 단계를 더 포함할 수 있다.
즉, 상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는지 여부를 판단할 수 있다.
여기서, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건일 수 있도 있고, 하나 이상의 특정 노드로부터 상기 실행 결과 정보가 포함되어야 하는 조건일 수 있다.
일례로, 상기 일치율은 관리자에 의해 미리 정해질 수 있으며, 100%, 50% 등으로 설정될 수 있다.
다만, 설명의 편의를 위해 상기 일치율은 100%임으로 가정하겠다.
상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 결과 정보의 일치율을 연산할 수 있다.
만약, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 결과 정보 모두가 "사과는 과일임을 확인하였다" 또는 "A가 선거에서 당선되었음이 확인되어 B에서 A로 100만원을 이체하도록 명령했다(또는 이체했다)"라는 정보인 경우 상기 실행 결과 정보의 일치율이 100%라는 점에서 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 것으로 판단될 수 있다.
그러나, 만약 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 결과 정보 중 적어도 어느 하나가 다르거나, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 적어도 어느 하나로부터 기 설정된 시간 내에 상기 실행 결과 정보를 획득하지 못하는 경우상기 기 설정된 일치율 미만이라는 점에서 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하지 않는 것으로 판단될 수 있다.
한편, 추가적으로 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상이며, 상기 획득 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.
즉, 상기 미리 정해진 조건은 복수의 상기 노드로부터 각각 획득한 복수의 상기 실행 결과 정보가 기 설정된 일치율 이상인 동시에, 복수의 획득 시점 간의 시간 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.
복수의 상기 노드 각각이 상기 외부 서버(S)에 접속하여 획득한 상기 결과 정보는 경우에 따라(상기 요청 정보의 의미에 따라) 상기 결과 정보를 획득한 시점의 차이에 의해 각각 달라질 수 있다.
따라서, 보다 정확한 진위여부를 검증하기 위해, 상기 미리 정해진 조건은 복수의 획득 시점 간의 시간 차이가 기 설정된 시간 차이 이하인 동시에 상기 실행 결과 정보가 기 설정된 일치율 이상인 조건일 수 있다.
여기서, 일례로, 상기 게이트웨이(110) 및 상기 원장기록부(130)는 상기 획득 시점의 차이가 기 설정된 시간 차이 이하를 만족하는지 여부를 먼저 판단하고, 이를 만족하지 않는다면 복수의 상기 노드로부터 획득한 상기 실행 결과 정보가 기 설정된 일치율 이상인지 여부를 판단하지 않을 수 있다.
그 결과, 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 결과 정보가 기 설정된 일치율 이상인지 여부를 판단하는데 소요되는 부하를 최소화할 수 있다.
여기서, 일례로, 상기 블록체인 외부 입력 검증 방법은 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부(130)가 블록체인(B)에 상기 요청 정보 및/또는 상기 실행 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 제7 단계를 더 포함할 수 있다.
즉, 상기 원장기록부(130)는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 블록체인(B)에 상기 요청 정보 및/또는 상기 결과 정보를 기록하며, 상기 미리 정해진 조건을 만족하기 않는 경우 상기 요청 정보 및/또는 상기 실행 결과 정보를 삭제(파기)할 수 있다.
또한, 상기 게이트웨이(110)는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 이러한 사실 정보 및 블록체인(B)에 입력(기록)한 사실 정보를 사용자의 전자장치(E)로 전달할 수 있고, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달할 수 있다.
여기서, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 경우, 앞서 설명한 상기 제3 단계, 상기 제4 단계, 상기 제5 단계, 상기 제 6 단계가 순차적으로 재 구현될 수 있다.
한편, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 요청 정보를 재 전달하는 경우, 상기 게이트웨이(110)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 요청 정보를 전달할 수 있다.
그 결과, 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 어느 하나가 비이상적 상황 발생 시, 다른 상기 노드들을 이용하여 상기 요청 정보에 대한 재 검증이 이루어질 수 있다.
2.
비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템
도 4는 상기 스마트 컨트랙트 방법 중 일 구성인 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템을 설명하기 위한 개략도이다.
앞서 설명한 상기 블록체인 외부 입력 검증 방법 및 시스템과 중복되거나 당업자의 입장에서 용이하게 유추할 수 있는 것은 그 설명을 생략하거나 간략히 하겠다.
상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템은 외부 서버(S)에 소정의 명령을 할 때 해당 명령 정보가 위/변조되는 것을 방지하기 위한 것이다.
일례로, 도 4에 도시한 바와 같이, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 게이트웨이(110)가 외부 서버(S)에 명령할 명령 정보를 획득하는 제1 단계(①)를 포함할 수 있다.
즉, 상기 게이트웨이(110)는 사용자의 전자장치(E)로부터 상기 명령 정보를 획득할 수도 있고, 앞서 설명한 상기 블록체인 외부 입력 검증 방법에 의해 상기 명령 정보를 획득할 수도 있다.
이를 보다 자세히 설명하자면, 상기 게이트웨이(110)는 사용자로부터 'B는 A에게 100만원을 이체한다'라는 상기 명령 정보를 획득할 수도 있고, 상기 블록체인 외부 입력 검증 방법에서 상기 요청 정보인 'A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다'라는 정보에서 "A가 선거에서 당선되었음을 확인하였다"라는 상기 실행 결과 정보가 상기 미리 정해진 조건을 만족하는 경우 'B는 A에게 100만원을 이체한다'라는 상기 명령 정보가 생성되어 획득될 수도 있다.
여기서, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 명령 정보를 전달하는 제2 단계(②) 및 상기 트랜잭션 실행부(120)가 상기 외부 서버(S)로 상기 명령 정보를 전달하는 제3 단계(③)를 더 포함할 수 있다.
일례로, 상기 제2 단계에서 상기 게이트웨이(110)는 복수의 상기 노드 각각으로 상기 명령 정보를 전달할 수 있다.
즉, 상기 게이트웨이(110)는 복수의 상기 노드들 중 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)에게 각각 병렬적으로 상기 명령 정보를 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.
한편, 일례로, 상기 제3 단계에서 복수의 상기 노드 각각은 상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보 생성하고, 생성한 분할된 상기 명령 정보를 상기 외부 서버(S)로 전달할 수 있다. 또한 상기 전달 정보도 전달할 수 있다.
여기서, 상기 외부 서버(S)는 B가 A에게 100만원을 이체하기 위한 소정의 은행 서버일 수 있다.
예를 들어, 상기 명령 정보인 '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)로 분할된 상기 명령 정보를 전달할 수 있다.
여기서, 일례로, 상기 제3 단계에서 복수의 상기 노드 각각은 비대칭키 암호화 방식을 이용하여 상기 명령 정보를 암호화하여 상기 외부 서버(S)로 전달할 수 있다.
즉, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 상기 외부 서버(S)의 공개키를 이용하여 분할된 상기 명령 정보를 암호화할 수 있으며, 암호화된 분할된 상기 명령 정보를 각각 상기 외부 서버(S)로 전달할 수 있다.
이 때, 복수의 상기 노드 각각은 상기 식별 ID 및 상기 명령 정보를 암호화한 암호 시점을 상기 외부 서버(S)로 전달할 수도 있다.
한편, 상기 제3 단계는 상기 제1 단계 및 상기 제2 단계가 전제로 구현되지 않고도 구현될 수 있다.
이를 보다 자세히 설명하자면, 앞서 설명한 상기 블록체인 외부 입력 검증 방법에서 상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)는 "A가 선거에서 당선되었다면, B는 A에게 100만원을 이체한다"라는 상기 요청 정보에 대해 각각 상기 외부 서버(S)로부터 "A가 선거에서 당선되었다"라는 상기 결과 정보를 획득할 수 있고, A가 선거에서 당선되었음이 확인됨에 따라 "B는 A에게 100만원을 이체한다"라는 상기 명령 정보를 생성하여 상기 외부 서버(S)로 상기 명령 정보를 전달할 수도 있다.
한편, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 외부 서버(S)가 포함하는 복호부(X)가 복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 제4 단계(④)를 더 포함할 수 있다.
일례로, 상기 복호부(X)는 상기 외부 서버(S)의 일 구성일 수 있다.
일례로, 상기 복호부(X)는 복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 구성일 수 있다.
일례로, 상기 복호부(X)는 자신의 비 공개키를 이용하여 암호화된 상기 명령 정보를 복호화할 수 있다.
한편, 일례로, 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법은 상기 외부 서버(S)가 포함하는 검증부(Y)가 복호화된 분할된 상기 명령 정보를 미리 정해진 조건을 만족하는지 여부로 검증하는 제5 단계(⑤)를 더 포함할 수 있다.
일례로, 상기 검증부(Y)는 상기 외부 서버(S)의 일 구성일 수 있다.
일례로, 상기 검증부(Y)는 복호화된 분할된 상기 명령 정보를 상기 복호부(X)로부터 전달받아 상기 명령 정보가 상기 미리 정해진 조건을 만족하는지 여부로 검증하는 구성일 수 있다.
여기서, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되는 조건일 수 있다.
이를 보다 자세히 설명하자면, 상기 제1 노드(EP1)로부터 획득한 분할된 상기 명령 정보인 "A, B, C"와 상기 제2 노드(EP2)로부터 획득한 분할된 상기 명령 정보인 "A, B, D"를 모았을 때, 분할되기 전인 상기 명령 정보인 "A, B, C, D"가 완성이 된다.
즉, 상기 미리 정해진 조건은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및/또는 상기 제3 노드(EP3)로부터 획득한 분할된 상기 명령 정보를 모아 조합하였을 때, 분할되기 전의 상기 명령 정보인 "A, B, C, D"가 갖춰지는 조건일 수 있다.
한편, 상기 미리 정해진 조건은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및/또는 상기 제3 노드(EP3)로부터 획득한 분할된 상기 명령 정보를 모아 조합하였을 때, 분할되기 전의 상기 명령 정보인 "A, B, C, D"가 갖춰지는 동시에, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 미리 정해진 특정 노드로부터 분할된 상기 명령 정보가 포함되어야 하는 조건일 수 있다.
이를 보다 자세히 설명하자면, 상기 미리 정해진 특정 노드가 상기 제1 노드(EP1)이며 상기 복호부(X)가 상기 제1 노드(EP1)로부터 분할된 상기 명령 정보를 획득하지 못한 경우, 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 분할된 상기 명령 정보를 모아 조합하였을 때, 분할되기 전의 상기 명령 정보인 "A, B, C, D"가 갖춰지더라고, "A, B, C, D"인 상기 명령 정보에 상기 제1 노드(EP1)의 상기 분할된 상기 명령 정보가 포함되지 않았다는 점에서, 이러한 경우는 상기 미리 정해진 조건을 만족하지 않는다.
상기 검증부(Y)는 상기 명령 정보가 상기 미리 정해진 조건을 만족하는 경우 'B는 A에게 100만원을 이체한다'하는 명령 정보를 실행하여, B의 계좌에서 A의 계좌로 100만원을 이체할 수 있다.
한편, 일례로, 상기 미리 정해진 조건은 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되며, 상기 암호 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수도 있다.
여기서, 일례로, 상기 검증부(Y)는 복수의 상기 노드로부터 각각 획득한 상기 암호 시점의 차이가 기 설정된 시간 차이 이하를 만족하는지 여부를 먼저 판단하고, 이를 만족하지 않는다면 복수의 상기 노드로부터 획득한 분할된 상기 명령 정보를 조합하였을 때 하나의 상기 명령 정보가 완성되는지 여부를 판단하지 않을 수 있다. 즉, 상기 미리 정해진 조건은 1차적으로 상기 암호 시점의 차이가 기 설정된 시간 차이 이하인지 여부를 먼저 판단하고, 기 설정된 시간 차이 이하를 만족하는 경우, 2차적으로 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되는 조건을 의미할 수 있다.
만약, 상기 명령 정보가 상기 미리 정해진 조건을 만족하지 않는 경우, 상기 외부 서버(S)는 상기 게이트웨이(110)로 상기 명령 정보가 상기 미리 정해진 조건을 만족하지 않는다는 정보를 전달할 수 있으며, 이 때 상기 게이트웨이(110)는 상기 트랜잭션 실행부(120)로 상기 명령 정보를 재 전달할 수 있다.
한편, 상기 게이트웨이(110)가 상기 트랜잭션 실행부(120)로 상기 명령 정보를 재 전달하는 경우, 상기 게이트웨이(110)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 명령 정보를 전달할 수 있다.
그 결과, 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 적어도 어느 하나가 비이상적 상황 발생 시, 다른 상기 노드들을 이용하여 상기 명령 정보에 대한 재 처리가 이루어질 수 있다.
3.
피드백 정보 블록체인 기록 방법 및 시스템
도 5는 상기 스마트 컨트랙트 방법 중 일 구성인 상기 피드백 정보 블록체인 기록 방법 및 시스템을 설명하기 위한 개략도이다.
앞서 설명한 상기 블록체인 외부 입력 검증 방법/시스템 및 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법/시스템과 중복되거나 당업자의 입장에서 용이하게 유추할 수 있는 것은 그 설명을 생략하거나 간략히 하겠다.
상기 피드백 정보 블록체인 기록 방법 및 시스템은 외부 서버(S)가 상기 명령 정보를 처리한 결과인 피드백 정보를 전달받을 때 해당 피드백 정보가 위/변조되는 것을 방지하고, 블록체인(B)에 기록하기 위한 것이다.
일례로, 도 5에 도시한 바와 같이, 상기 피드백 정보 블록체인 기록 방법은 상기 외부 서버(S)로부터 생성된 상기 피드백 정보가 아래에서 설명될 암호화부(Z)로 전달되는 단계(①)를 포함할 수 있다.
여기서, 상기 피드백 정보는 상기 외부 서버(S)가 생성하는 정보로서, B의 계좌에서 A의 계좌로 100만원을 이체한 정보(예를 들어, 이체 영수증)일 수 있다.
여기서, 상기 피드백 정보 블록체인 기록 방법은 상기 외부 서버(S)가 포함하는 상기 암호화부(Z)가 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화하고, 상기 피드백 정보를 프록시(P)로 전달하는 제1 단계(②)를 더 포함할 수 있다.
일례로, 상기 암호화부(Z)는 상기 외부 서버(S)의 일 구성일 수 있다.
일례로, 상기 암호화부(Z)는 비대칭키 암호와 방식을 이용하여 상기 피드백 정보를 암호화할 수 있으며, 암호화된 상기 피드백 정보를 프록시(P)로 전달할 수 있다.
이 때, 상기 암호화부(Z)는 상기 암호화된 상기 피드백 정보뿐만 아니라, 앞서 설명한 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법에서 상기 외부 서버(S)로 상기 명령 정보를 전달한 복수의 상기 노드에 대한 상기 노드 정보, 상기 전달 정보를 포함하여 상기 프록시(P)로 전달할 수 있다.
또한, 상기 암호화부(Z)는 프록시(P)가 상기 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법에서 상기 외부 서버(S)로 상기 명령 정보를 전달한 복수의 상기 노드에 상기 피드백 정보를 전달하도록 하는 명령어를 더 포함하여 프록시(P)에게 전달할 수 있다.
이 때, 상기 암호화부(Z)는 상기 제1 노드(EP1)의 공개키를 이용하여 상기 피드백 정보를 암호화하고, 상기 제2 노드(EP2)의 공개키를 이용하여 상기 피드백 정보를 암호화하며, 상기 제3 노드(EP3)의 공개키를 이용하여 상기 피드백 정보를 암호화하여, 각각의 병렬적인 피드백 정보를 프록시(P)로 전달할 수 있다.
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 트랜잭션 실행부(120)가 상기 프록시(P)로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화하는 제2 단계(③)를 더 포함할 수 있다.
상기 트랜잭션 실행부(120)의 상기 제1 노드(EP1)는 상기 프록시(P)로부터 자신의 공개키로 암호화된 B의 계좌에서 A의 계좌로 100만원을 이체한 정보인 상기 피드백 정보를 전달받을 수 있으며, 자신의 비 공개키를 이용하여 암호화된 상기 피드백 정보를 복호화할 수 있다.
마찬가지로, 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 각각은 상기 프록시(P)로부터 자신의 공개키로 암호화된 B의 계좌에서 A의 계좌로 100만원을 이체한 정보인 상기 피드백 정보를 전달받을 수 있으며, 자신의 비 공개키를 이용하여 암호화된 상기 피드백 정보를 복호화할 수 있다.
즉, 복수의 상기 노드 각각은 상기 프록시(P)로부터 암호화된 상기 피드백 정보를 획득하고, 상기 피드백 정보를 복호화할 수 있다.
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 트랜잭션 실행부(120)가 상기 게이트웨이(110) 및 상기 원장기록부(130)로 상기 피드백 정보를 기초로 한 트랜잭션 실행 피드백 정보를 생성하여 전달하는 제3 단계(④, ⑤)를 더 포함할 수 있다.
즉, 복수의 상기 노드 각각은 복호화한 상기 피드백 정보를 바탕으로 트랜잭션 실행 결과인 상기 실행 피드백 정보를 생성하고 상기 게이트웨이(110) 및 상기 원장기록부(130)로 전달할 수 있다. 또한 상기 전달 정보 및 상기 노드 정보도 전달할 수 있다.
일례로, 상기 실행 피드백 정보는 "B의 계좌에서 A의 계좌로 100만원을 이체하였다"라는 정보일 수 있고, 또한 "A가 선거에서 당선되었음이 확인되어 B의 계좌에서 A의 계좌로 100만원을 이체하였다"라는 정보일 수도 있다.
여기서, 상기 노드 정보는 상기 식별 ID 정보 외에, 상기 피드백 정보를 복호화한 복호 시점에 대한 정보를 더 포함할 수 있다.
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 피드백 정보를 미리 정해진 조건의 만족 여부로 검증하는 제4 단계를 더 포함할 수 있다.
즉, 상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는지 여부를 판단할 수 있다.
여기서, 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 조건일 수 있다.
여기서, 기 설정된 합의 조건은 하나 이상의 특정 노드로부터 상기 실행 피드백 정보가 포함되어야 하는 조건일 수 있고, 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 일치율 이상인 조건일 수도 있다.
일례로, 상기 일치율은 관리자에 의해 미리 정해질 수 있으며, 100%, 50% 등으로 설정될 수 있다.
다만, 설명의 편의를 위해 상기 일치율은 100%임으로 가정하겠다.
상기 게이트웨이(110) 및 상기 원장기록부(130) 각각은 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 피드백 정보의 일치율을 연산할 수 있다.
만약, 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 피드백 정보 모두가 B의 계좌에서 A의 계좌로 100만원을 이체한 정보 또는 A가 선거에서 당선되었음이 확인되어 B의 계좌에서 A의 계좌로 100만원을 이체한 정보인 경우 상기 피드백 정보의 일치율이 100%라는 점에서 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는 것으로 판단될 수 있다.
그러나, 만약 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)로부터 획득한 상기 실행 피드백 정보 중 적어도 어느 하나가 다른 경우, 상기 기 설정된 일치율 미만이라는 점에서 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하지 않는 것으로 판단될 수 있다.
한편, 추가적으로 상기 미리 정해진 조건은 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하며, 상기 복호 시점의 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.
즉, 상기 미리 정해진 조건은 복수의 상기 노드로부터 각각 획득한 복수의 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는 동시에, 복수의 복호 시점 간의 시간 차이가 기 설정된 시간 차이 이하인 조건일 수 있다.
여기서, 일례로, 상기 게이트웨이(110) 및 상기 원장기록부(130)는 상기 복호 시점의 차이가 기 설정된 시간 차이 이하를 만족하는지 여부를 먼저 판단하고, 이를 만족하지 않는다면 복수의 상기 노드로부터 획득한 상기 실행 피드백 정보가 기 설정된 합의 조건의 만족 여부를 판단하지 않을 수 있다.
그 결과, 상기 게이트웨이(110) 및 상기 원장기록부(130)가 상기 실행 피드백 정보가 기 설정된 합의 조건을 만족하는지 여부를 판단하는데 소요되는 부하를 최소화할 수 있다.
여기서, 일례로, 상기 피드백 정보 블록체인 기록 방법은 상기 미리 정해진 조건을 만족하는 경우 상기 원장기록부(130)가 블록체인(B)에 상기 실행 피드백 정보를 기록하는 제5 단계(⑥)를 더 포함할 수 있다.
또한, 일례로 상기 제5 단계는 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하지 않는 경우 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 재송신을 요청할 수 있다.
즉, 상기 원장기록부(130)는 상기 실행 피드백 정보가 상기 미리 정해진 조건을 만족하는 경우 블록체인(B)에 상기 실행 피드백 정보를 기록하며, 상기 미리 정해진 조건을 만족하기 않는 경우 상기 실행 피드백 정보를 삭제(파기)할 수 있다.
또한, 상기 게이트웨이(110)는 상기 피드백 정보가 상기 미리 정해진 조건을 만족하는 경우 이러한 사실 정보 및 블록체인(B)에 입력(기록)한 사실 정보를 사용자의 전자장치(E)로 전달할 수 있고, 상기 미리 정해진 조건을 만족하지 않는 경우 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청할 수 있다.
여기서, 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청 경우, 앞서 설명한 상기 제3 단계, 상기 제4 단계가 순차적으로 재 구현될 수 있다.
한편, 상기 게이트웨이(110)가 상기 외부 서버(S)로 상기 피드백 정보의 전달을 재요청하는 경우, 상기 외부 서버(S)는 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3)를 제외하고 다른 복수의 상기 노드로 상기 피드백 정보를 전달할 수 있다.
그 결과, 앞서 전달한 상기 제1 노드(EP1), 상기 제2 노드(EP2) 및 상기 제3 노드(EP3) 중 어느 하나가 비이상적 상황 발생 시, 다른 상기 노드들을 이용하여 상기 피드백 정보에 대한 재 검증이 이루어질 수 있다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
110: 게이트웨이
120: 트랜잭션 실행부
130: 원장기록부
B: 블록체인
120: 트랜잭션 실행부
130: 원장기록부
B: 블록체인
Claims (8)
- 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법에 있어서,
게이트웨이가 외부 서버에 명령할 명령 정보를 획득하는 제1 단계;
게이트웨이가 트랜잭션 실행부로 상기 명령 정보를 전달하는 제2 단계; 및
상기 트랜잭션 실행부가 상기 외부 서버로 상기 명령 정보를 전달하는 제3 단계;를 포함하며,
상기 트랜잭션 실행부는,
각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며,
상기 제3 단계는,
복수의 상기 노드 각각이 상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보를 상기 외부 서버로 전달하며,
상기 제3 단계는,
복수의 상기 노드 각각이 비대칭키 암호화 방식을 이용하여 상기 명령 정보를 암호화하여 상기 외부 서버로 전달하고,
상기 외부 서버가 포함하는 복호부가 복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 제4 단계; 및
상기 외부 서버가 포함하는 검증부가 복호화된 분할된 상기 명령 정보를 미리 정해진 조건을 만족하는지 여부로 검증하는 제5 단계;를 더 포함하고,
상기 제3 단계는,
복수의 상기 노드 각각이 고유의 식별 ID 정보 및 상기 명령 정보를 암호화한 암호 시점을 상기 외부 서버로 전달하고,
상기 미리 정해진 조건은,
1차적으로, 상기 암호 시점의 차이가 기 설정된 시간 차이 이하이며,
2차적으로, 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되는 조건인,
비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법.
- 삭제
- 삭제
- 삭제
- 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템에 있어서,
외부 서버에 명령할 명령 정보를 획득하는 게이트웨이; 및
게이트웨이로부터 상기 명령 정보를 전달받고, 상기 외부 서버로 상기 명령 정보를 전달하는 트랜잭션 실행부;를 포함하며,
상기 트랜잭션 실행부는,
각각 고유의 식별 ID를 가지는 복수의 노드를 포함하며,
복수의 상기 노드 각각은,
상기 명령 정보 중 일부를 나누어 분할된 상기 명령 정보를 상기 외부 서버로 전달하며,
복수의 상기 노드 각각은,
비대칭키 암호 방식을 이용하여 상기 명령 정보를 암호화하여 상기 외부 서버로 전달하고,
상기 외부 서버는
복수의 상기 노드 각각으로부터 분할된 상기 명령 정보를 복호화하는 복호부; 및
복호화된 분할된 상기 명령 정보를 미리 정해진 조건을 만족하는지 여부로 검증하는 검증부;를 포함하며,
복수의 상기 노드 각각은,
고유의 식별 ID 정보 및 상기 명령 정보를 암호화한 암호 시점을 상기 외부 서버로 전달하고,
상기 미리 정해진 조건은,
1차적으로, 상기 암호 시점의 차이가 기 설정된 시간 차이 이하이며,
2차적으로, 분할된 상기 명령 정보를 모았을 때 하나의 상기 명령 정보가 완성되는 조건인,
비밀 공유 기법을 이용한 블록체인 외부 명령 출력 시스템.
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163607A KR102391186B1 (ko) | 2021-11-24 | 2021-11-24 | 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163607A KR102391186B1 (ko) | 2021-11-24 | 2021-11-24 | 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102391186B1 true KR102391186B1 (ko) | 2022-04-28 |
Family
ID=81446728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210163607A KR102391186B1 (ko) | 2021-11-24 | 2021-11-24 | 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102391186B1 (ko) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100521405B1 (ko) * | 2003-06-27 | 2005-10-12 | 박세현 | 인터넷을 이용한 중앙 집중적 무인 제어 시스템의 원격보안 서비스 방법 |
KR20190139368A (ko) * | 2018-06-08 | 2019-12-18 | 금오공과대학교 산학협력단 | 블록체인을 기반으로 한 시험지 유출 방지 방법 |
KR20200012705A (ko) * | 2018-07-27 | 2020-02-05 | 박기업 | 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치 |
KR102084699B1 (ko) * | 2019-08-22 | 2020-03-04 | 주식회사 알비엔 | Otpa 블록체인 기반의 지역경제순환시스템 |
KR20200060930A (ko) * | 2018-11-23 | 2020-06-02 | 주식회사 디지캡 | 텔레매틱스 장치간 암호화 통신 방법 |
KR20210046357A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치 |
KR20210051017A (ko) * | 2019-10-29 | 2021-05-10 | 엘에스웨어(주) | 블록체인 기반의 전력량 데이터 관리 및 암호인증 시스템 |
KR20210091963A (ko) * | 2020-01-15 | 2021-07-23 | 경북대학교 산학협력단 | 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법 |
-
2021
- 2021-11-24 KR KR1020210163607A patent/KR102391186B1/ko active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100521405B1 (ko) * | 2003-06-27 | 2005-10-12 | 박세현 | 인터넷을 이용한 중앙 집중적 무인 제어 시스템의 원격보안 서비스 방법 |
KR20190139368A (ko) * | 2018-06-08 | 2019-12-18 | 금오공과대학교 산학협력단 | 블록체인을 기반으로 한 시험지 유출 방지 방법 |
KR20200012705A (ko) * | 2018-07-27 | 2020-02-05 | 박기업 | 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치 |
KR20200060930A (ko) * | 2018-11-23 | 2020-06-02 | 주식회사 디지캡 | 텔레매틱스 장치간 암호화 통신 방법 |
KR102084699B1 (ko) * | 2019-08-22 | 2020-03-04 | 주식회사 알비엔 | Otpa 블록체인 기반의 지역경제순환시스템 |
KR20210046357A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치 |
KR20210051017A (ko) * | 2019-10-29 | 2021-05-10 | 엘에스웨어(주) | 블록체인 기반의 전력량 데이터 관리 및 암호인증 시스템 |
KR20210091963A (ko) * | 2020-01-15 | 2021-07-23 | 경북대학교 산학협력단 | 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법 |
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 | |
US10915645B2 (en) | Secure storage audit verification system | |
US11316668B2 (en) | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information | |
US10686593B2 (en) | Secure storage encryption system | |
US10735397B2 (en) | Systems and methods for distributed identity verification | |
KR101975822B1 (ko) | 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 | |
CN106911513B (zh) | 一种基于去中心化网络的可信设备管理方法 | |
CN108429759B (zh) | 去中心化存储安全实现方法 | |
US10177908B2 (en) | Secure storage decryption system | |
US20180316492A1 (en) | Distributed System and Method for Encryption of Blockchain Payloads | |
US10116445B2 (en) | Method and system for protected exchange of data | |
CN111818032A (zh) | 基于云平台的数据处理方法、装置及计算机程序 | |
US8806206B2 (en) | Cooperation method and system of hardware secure units, and application device | |
CN105407097B (zh) | 基于第三方的数据供应方法及装置 | |
CN109753815A (zh) | 基于区块链的数据处理方法、数据处理网络及电子设备 | |
CN105659231A (zh) | 实现对数据的访问 | |
CN114866323B (zh) | 一种用户可控的隐私数据授权共享***及方法 | |
CN110365472B (zh) | 基于非对称密钥池对的量子通信服务站数字签名方法、*** | |
US11563575B2 (en) | Communication node, method of operating thereof and collaborative system | |
CN116938985B (zh) | 基于数字凭证的数据流转方法、装置、终端设备及介质 | |
EP2503480A1 (en) | Method and devices for secure data access and exchange | |
KR102391186B1 (ko) | 비밀 공유 기법을 이용한 블록체인 외부 명령 출력 방법 및 시스템 | |
KR102391187B1 (ko) | 피드백 정보 블록체인 기록 방법 및 시스템 | |
KR102391185B1 (ko) | 블록체인 외부 입력 검증 방법 및 시스템 | |
JP2001222219A (ja) | ネットワーク通信記録方式および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |