1 |
1
사용자 스마트 컨트랙트 및 전달 스마트 컨트랙트가 기록된 블록체인을 구비하는 노드들을 포함하는 블록체인 네트워크;신뢰 실행 환경(Trusted Execution Environment; TEE)을 기반으로 동작되는 복수 개의 오라클 노드들로 구성되며, 상기 블록체인 네트워크로부터 외부 데이터 요청이 발생하면, 외부 데이터 소스로부터 데이터를 수집하여 상기 블록체인 네트워크로 제공하는 분산 오라클;을 구비하고, 상기 사용자 스마트 컨트랙트는 상기 전달 스마트 컨트랙트에게 외부 데이터를 요청하고, 상기 전달 스마트 컨트랙트로부터 무결성을 갖는 외부 데이터를 전달받는 것을 특징으로 하며, 상기 전달 스마트 컨트랙트는 상기 사용자 스마트 컨트랙트로부터 외부 데이터의 요청이 입력되면, 상기 분산 오라클에게 외부 데이터를 요청하고, 상기 분산 오라클로부터 상기 외부 데이터가 제공되면 외부 데이터를 검증하여 상기 사용자 스마트 컨트랙트에게 전달하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
2 |
2
제1항에 있어서, 상기 전달 스마트 컨트랙트는,분산 오라클을 구성하는 오라클 노드들에 대한 평판을 관리하고, 사용자 스마트 컨트랙트로부터 외부 데이터 요청이 발생하면 평판을 기준으로 하여 분산 오라클 중 오라클 리더를 선출하는 리더 선출 모듈;분산 오라클로부터 외부 데이터가 수신되면, 외부 데이터를 검증하는 데이터 검증 모듈;분산 오라클로부터 수신된 외부 데이터가 상기 데이터 검증 모듈에 의해 데이터 검증되면, 상기 검증된 외부 데이터를 상기 사용자 스마트 컨트랙트에게 전달하는 데이터 전달 모듈;을 구비하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
3 |
3
제2항에 있어서, 상기 오라클 노드에 대한 평판은 응답 시간이 빠르고 취합한 다른 오라클 노드의 비율이 높을수록 높은 값을 갖도록 설계된 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
4 |
4
제2항에 있어서, 상기 리더 선출 모듈은 아래의 수학식에 따라 각 오라클에 대한 평판을 측정하고,여기서, 는 가장 느린 응답 시간이며, 는 수집된 응답 개수이며, 는 분산 오라클을 구성하는 오라클 노드들의 개수이며, 는 상수값인 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
5 |
5
제2항에 있어서, 상기 TEE 의 공개키는 상기 전달 스마트 컨트랙트와 분산 오라클의 오라클 노드들이 공유하고, 상기 전달 스마트 컨트랙트의 데이터 검증 모듈은,상기 분산 오라클로부터 암호화된 메시지를 제공받고, 상기 공개키를 이용하여 암호화된 메시지를 복호화하고, 복호화된 메시지가 원본 데이터와 일치하면, 해당 데이터를 사용자 스마트 컨트랙트에게 전달하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
6 |
6
제1항에 있어서, 상기 분산 오라클 중 오라클 리더는,다른 오라클 노드에게 외부 데이터 요청을 보내고, 다른 오라클 노드로부터 전달받은 외부 데이터와 해당 오라클 노드의 응답 시간을 기록하며, 사전 설정된 개수 이상의 응답을 받거나 응답 시간을 초과하면, 상기 오라클 리더는 기록된 외부 데이터와 응답 시간의 원본, 상기 원본에 대하여 TEE 내부에서 만들어진 비밀키로 암호화된 내용을 포함한 메시지를 생성하여 상기 전달 스마트 컨트랙트로 전송하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
7 |
7
제6항에 있어서, 상기 TEE 의 공개키는 상기 전달 스마트 컨트랙트와 분산 오라클의 오라클 노드들이 공유하고, 상기 전달 스마트 컨트랙트는,상기 분산 오라클로부터 메시지를 제공받고, 상기 공개키를 이용하여 상기 메시지 중 암호화된 내용을 복호화하고, 복호화된 내용과 원본 데이터가 일치하면, 해당 데이터를 사용자 스마트 컨트랙트에게 전달하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
8 |
8
제1항에 있어서, 상기 분산 오라클의 오라클 노드들은,TEE 내부의 비대칭키 모듈을 구비하고, 상기 비대칭키 모듈은 TEE 내부에서 생성된 비밀키와 공개키의 쌍을 구비하고, 상기 공개키는 전달 스마트 컨트랙트와 다른 오라클 노드들과 공유하고, 상기 비밀키는 TEE 내부에서만 암호화하는 용도로 사용되는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템
|
9 |
9
사용자 스마트 컨트랙트와 전달 스마트 컨트랙트가 기록된 블록체인을 구비하는 블록체인 네트워크와 신뢰 실행 환경(TEE)를 기반으로 한 복수 개의 오라클 노드들로 이루어진 분산 오라클을 구비하는 분산 블록체인 오라클 시스템에서의 오라클 노드에 의해 수행되는 외부 데이터 전달 방법에 있어서, (a) 상기 전달 스마트 컨트랙트에 의해 분산 오라클의 복수 개의 오라클 노드들 중 오라클 리더가 선출되는 단계;(b) 상기 오라클 리더는 다른 오라클 노드에게 외부 데이터를 요청하고, 상기 요청에 따라 외부 데이터를 전달받으면, 전달받은 외부 데이터와 응답 시간을 기록하는 단계;(c) 상기 오라클 리더는 상기 기록된 외부 데이터와 응답 시간을 이용하여 암호화하여 생성된 메시지를 상기 전달 스마트 컨트랙트에게 전달하는 단계; (d) 상기 전달 스마트 컨트랙트는 상기 오라클 리더로부터 수신한 메시지를 복호하하는 단계;를 구비하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템에서의 외부 데이터 전달 방법
|
10 |
10
제9항에 있어서, 상기 외부 데이터 전달 방법은, 상기 오라클 노드들이 TEE 내부에서 비밀키와 공개키 쌍을 생성하고, 상기 공개키는 전달 스마트 컨트랙트와 다른 오라클 노드들에게 공유하는 단계; 를 더 구비하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템에서의 외부 데이터 전달 방법
|
11 |
11
제9항에 있어서, 상기 (c) 단계는 상기 오라클 리더는 상기 기록된 외부 데이터와 응답 시간의 원본, 및 TEE 내부의 비밀키를 이용하여 상기 원본을 암호화한 내용을 포함한 메시지를 생성하고, 상기 메시지를 전달 스마트 컨트랙트에게 제공하는 것을 특징으로 하며, 상기 (d) 단계는,상기 전달 스마트 컨트랙트가 상기 오라클 리더로부터 수신한 메시지 중 암호화한 내용을 공개키로 복호화하고, 복호화된 내용과 원본 데이터를 비교하여 일치하면 상기 외부 데이터를 사용자 스마트 컨트랙트에게 전달하는 것을 특징으로 하는 TEE를 이용한 분산 블록체인 오라클 시스템에서의 외부 데이터 전달 방법
|