1 |
1
서비스 소비자의 서비스 요청에 따라, 분산 서비스 원장의 외부에서 오프 체인(off-chain)으로 상기 서비스의 단위 기능을 수행하는 제1 태스크 노드들로 구성된 제1 태스크 노드 그룹을 선정하는 단계;상기 제1 태스크 노드들 각각의 단위 기능 수행에 따라 가공된 제1 태스크 노드 데이터를 생성하고 상기 생성된 제1 태스크 노드 데이터의 서비스 트랜잭션 데이터를 포함하는 제1 오퍼레이션 증거 정보를 생성하는 단계; 상기 제1 태스크 노드 그룹 중 소정 개수 단위의 제1 태스크 노드 데이터들에 대한 상기 제1 오퍼레이션 증거 정보를 기초로 제 1 머클 트리를 형성하여 제 1 머클 트리 루트를 산출하는 단계; 및 검증자에 의해 상기 제1 머클 트리 루트를 검증하여 무결성(integrity)이 인정되면, 상기 소정 개수 단위의 제1 태스크 노드 데이터들의 상기 서비스 트랜잭션 데이터와 관련된 서비스 상태 요약 정보를 온 체인(on-chain)으로 상기 분산 서비스 원장에 기록하는 단계를 포함하는 블록체인 기반 서비스 안전 실행 보장 방법
|
2 |
2
제 1 항에 있어서, 상기 제 1 태스크 노드 데이터는 상기 서비스 요청에 따라 중간 데이터 형태가 결정되며, 상기 중간 데이터 형태는 상기 제 1 태스크 노드 데이터들을 연속적으로 포함하는 제 1 태스크 노드 그룹 데이터에서 처리 공정 단위 내의 중간 처리 입출력 데이터이거나, 데이터 스트림의 조각 단위로서 수행된 처리 공정 단위의 조각 데이터이고, 상기 서비스 상태 요약 정보는 오퍼레이션 서비스 트랜잭션 블록으로부터 도출되는 블록 해시의 머클 트리 루트를 일정 간격으로 수집한 형태인 서비스 상태 요약 정보 트랜잭션이며, 상기 머클 트리 루트는 서비스 요약 정보 트랜잭션 해시들로 구성된 머클 루트인 블록체인 기반 서비스 안전 실행 보장 방법
|
3 |
3
제 1 항에 있어서,상기 제1 오퍼레이션 증거 정보는 상기 태스크 노드 별 단위 기능에 대한 수행 오퍼레이션 정보, 입력값, 중간 결과 해시값 및 상기 태스크 노드 별 단위 기능의 정상 완료 여부를 통지하는 상태 정보로 구성되는 블록체인 기반 서비스 안전 실행 보장 방법
|
4 |
4
제 1 항에 있어서, 상기 분산 서비스 원장에 기록하는 단계 전에, 상기 서비스와 동일한 서비스 요청에 따라, 상기 분산 서비스 원장의 외부에서 오프 체인(off-chain)으로 상기 서비스의 단위 기능을 수행하는 제2 태스크 노드들로 구성된 복수의 제2 태스크 노드 그룹을 생성하는 단계;상기 제2 태스크 노드들 각각의 단위 기능 수행에 따라 가공된 제2 태스크 노드 데이터를 생성하고 상기 생성된 제2 태스크 노드 데이터의 서비스 트랜잭션 데이터를 포함하는 제2 오퍼레이션 증거 정보를 생성하는 단계; 및상기 복수의 제2 태스크 노드 그룹마다 소정 개수 단위의 제 2 태스크 노드 데이터들에 대한 상기 제 2 오퍼레이션 증거 정보를 기초로 제 2 머클 트리를 형성하여, 상기 복수의 제 2 태스크 노드 그룹마다 제 2 머클 트리 루트를 산출하는 단계를 더 포함하고, 상기 분산 서비스 원장에 기록하는 단계는 상기 검증자가 상기 제 1 머클 트리 루트 및 복수의 제 2 머클 트리 루트의 값을 기초하여 상기 다수 합의로 결정된 상기 태스크 노드 그룹에 속한 상기 태스크 노드 데이터들의 상기 서비스 트랜잭션 데이터와 관련된 서비스 상태 요약 정보를 온 체인으로 상기 분산 서비스 원장에 기록하는 블록체인 기반 서비스 안전 실행 보장 방법
|
5 |
5
제 4 항에 있어서, 상기 다수 합의는 상기 머클 트리 루트들의 값들 중 최다수의 동일한 값을 갖는 머클 트리들과 관련된 태스크 노드 데이터들에 대해 무결성을 인정하는 블록체인 기반 서비스 안전 실행 보장 방법
|
6 |
6
제 4 항에 있어서,상기 다수 합의 과정에서 상기 머클 트리 루트들의 값들 중 동일한 값을 갖는 머클 트리 루트들이 소정 기준 개수보다 작은 경우에, 상기 검증자는 제 1 및 제 2 머클 트리들의 해시연산 결과값 및 태스크 노드 데이터 해시값과 함께, 상기 제 1 및 제 2 오퍼레이션 증거 정보들을 이진검색 패턴으로 전부 확인하고, 차이가 유발된 제 1 및 제 2 태스크 노드 데이터들을 발견하여 상기 태스크 노드 데이터들 중 오류가 있는 태스크 노드 데이터와 관련된 태스크 노드의 단위 기능을 재수행하고, 재수행된 태스크 노드 데이터들의 결과에 무결성을 재검증하는 정밀 검증 방식(exact verification computation 방식)을 사용하는 블록체인 기반 서비스 안전 실행 보장 방법
|
7 |
7
제 4 항에 있어서, 상기 다수 합의 과정에서 상기 머클 트리 루트들의 값들 중 동일한 값을 갖는 머클 트리 루트들이 소정 기준 개수보다 작은 경우에, 상기 검증자는 상기 제 1 및 제 2 머클 트리의 해시연산 결과값 및 태스크 노드 데이터 해시값을 랜덤 선택하여 차이가 유발된 제 1 및 제 2 태스크 노드 데이터들을 발견하여 상기 태스크 노드 데이터들 중 오류가 있는 태스크 노드 데이터와 관련된 태스크 노드의 단위 기능을 재수행하고, 재수행된 태스크 노드 데이터들의 결과에 무결성을 재검증하는 개략 검증 방식(approximate verification computation 방식)을 사용하는 블록체인 기반 서비스 안전 실행 보장 방법
|
8 |
8
제 7 항에 있어서,상기 개략 검증 방식은 상기 제 1 및 제 2 머클 트리들의 깊이도(depth degree)가 n인 경우에, 상기 제 1 및 제 2 머클 트리들에서 최하부에 위치되며 상기 태스크 노드 데이터와 관련된 태스크 노드 데이터 해시값의 개수를 n-1개로 랜덤하게 선정하여 수행되는 블록체인 기반 서비스 안전 실행 보장 방법
|
9 |
9
제 8 항에 있어서, 상기 개략 검증 방식은 상기 머클 트리 루트와 상기 태스크 노드 데이터 해시값 사이의 해시연산 결과값들 중에서 상기 선정된 태스크 노드 데이터 해시값과 연관되지 않은 해시연산 결과값을 검증 대상으로 선정하고, 깊이도가 3 이상인 경우에 최하부의 해시연산 결과값들 보다 상부 레벨에서 검증 대상으로 선정되는 상기 상부 해시연산 결과값은 상기 선정된 태스크 노드 데이터 해시값과 상기 상부 해시연산 결과값의 하부 레벨에서 이미 선정된 해시연산 결과값의 양쪽에 연관되지 않는 블록체인 기반 서비스 안전 실행 보장 방법
|
10 |
10
제 4 항에 있어서, 상기 검증자가 상기 제 1 및 제 2 머클 트리의 값을 기초하여 다수 합의로 결정된 다수 합의된 상기 태스크 노드 그룹에 속한 상기 태스크 노드 데이터들의 상기 서비스 트랜잭션 데이터와 관련된 값을 온 체인으로 상기 분산 서비스 원장(102)에 기록하는 것은, 상기 다수 합의로 결정된 상기 태스크 노드 그룹들에게 요청된 서비스의 작업이 완료된 경우에, 각 태스크 노드 그룹들이 오프 체인에서 관리하는 태스크 체인부에 제출된 상기 서비스 트랜잭션 데이터의 묶음 형태로 생성한 오퍼레이션 서비스 트랜잭션 블록을 상기 분산 서비스 원장의 서비스 체인부에 기록함과 아울러서, 상기 오퍼레이션 서비스 트랜잭션 블록들을 결합하여 블록 해시들로 구성된 머클 트리 루트를 트랜잭션 형태로 상기 분산 서비스 원장의 서비스 관리 체인부에 제출하여 기록하는 단계; 및상기 서비스 관리 체인부의 머클 트리 루트들을 해싱한(hashing) 서비스 상태 요약 정보를 서비스 상태 트랜잭션 형태로 상기 분산 서비스 원장의 퍼블릭(public) 공유 블록부에 저장하는 단계를 포함하는 블록체인 기반 서비스 안전 실행 보장 방법
|
11 |
11
블록체인 기반 서비스 안전 실행 보장을 위한 자율 데이터 공급 시스템에 있어서, 분산 서비스 원장; 서비스 소비자의 서비스 요청에 따라, 상기 분산 서비스 원장의 외부에서 오프 체인(off-chain)으로 상기 서비스의 단위 기능을 수행하도록 선정된 제1 태스크 노드들로 구성되는 제 1 태스크 노드 그룹; 및 상기 제 1 태스크 노드들 각각의 단위 기능 수행에 따라 가공하여 생성된 제 1 태스크 노드 데이터와 관련한 무결성을 검증하는 검증자를 포함하고, 상기 제1 태스크 노드 그룹은 상기 생성된 제1 태스크 노드 데이터의 서비스 트랜잭션 데이터를 포함하는 제1 오퍼레이션 증거 정보를 생성하여 상기 검증자에 제출하고, 상기 검증자는 상기 제 1 태스크 노드 그룹 중 소정 개수 단위의 제 1 태스크 노드 데이터들에 대한 상기 제 1 오퍼레이션 증거 정보를 기초로 형성된 제 1 머클 트리로부터 산출되는 제 1 머클 트리 루트를 검증하여 상기 무결성이 인정되면, 상기 소정 개수 단위의 제1 태스크 노드 데이터들의 상기 서비스 트랜잭션 데이터와 관련된 서비스 상태 요약 정보가 온 체인(on-chain)으로 상기 분산 서비스 원장에 기록되는 시스템
|
12 |
12
제 11 항에 있어서, 상기 제 1 태스크 노드 데이터는 상기 서비스 요청에 따라 중간 데이터 형태가 결정되며, 상기 중간 데이터 형태는 상기 제 1 태스크 노드 데이터들을 연속적으로 포함하는 제 1 태스크 노드 그룹 데이터에서 처리 공정 단위 내의 중간 처리 입출력 데이터이거나, 데이터 스트림의 조각 단위로서 수행된 처리 공정 단위의 조각 데이터이고, 상기 서비스 상태 요약 정보는 오퍼레이션 서비스 트랜잭션 블록으로부터 도출되는 블록 해시의 머클 트리 루트를 일정 간격으로 수집한 형태인 서비스 상태 요약 정보 트랜잭션이며, 상기 머클 트리 루트는 서비스 요약 정보 트랜잭션 해시들로 구성된 머클 루트인 시스템
|
13 |
13
제 11 항에 있어서,상기 제1 오퍼레이션 증거 정보는 상기 태스크 노드 별 단위 기능에 대한 수행 오퍼레이션 정보, 중간 결과 해시값 및 상기 태스크 노드 별 단위 기능의 정상 완료 여부를 통지하는 상태 정보로 구성되는 시스템
|
14 |
14
제11 항에 있어서, 상기 서비스 소비자의 동일한 서비스 요청에 따라, 상기 분산 서비스 원장의 외부에서 오프 체인(off-chain)으로 상기 서비스의 단위 기능을 수행하도록 선정된 제 2 태스크 노드들로 구성되는 제 2 태스크 노드 그룹을 더 포함하고, 상기 제2 태스크 노드 그룹은 상기 생성된 제 2 태스크 노드 데이터의 서비스 트랜잭션 데이터를 포함하는 제 2 오퍼레이션 증거 정보를 생성하여 상기 검증자에 제출하고, 상기 검증자는 상기 복수의 제 2 태스크 노드 그룹마다 소정 개수 단위의 제 2 태스크 노드 데이터들에 대한 상기 제 2 오퍼레이션 증거 정보를 기초로 상기 복수의 제 2 태스크 노드 그룹마다 형성된 제 2 머클 트리로부터 산출되는 제 2 머클 트리 루트를 상기 제 1 머클 트리 루트와 함께 검증하고, 상기 제 1 머클 트리 루트 및 복수의 제 2 머클 트리 루트의 값을 기초하여 다수 합의로 결정된 상기 태스크 노드 그룹에 속한 상기 태스크 노드 데이터들의 상기 서비스 트랜잭션 데이터와 관련된 서비스 상태 요약 정보가 온 체인으로 상기 분산 서비스 원장에 기록되는 시스템
|
15 |
15
제 14 항에 있어서, 상기 다수 합의는 상기 머클 트리 루트들의 값들 중 최다수의 동일한 값을 갖는 머클 트리들과 관련된 태스크 노드 데이터들에 대해 무결성을 인정하는 시스템
|
16 |
16
제 14 항에 있어서,상기 다수 합의 과정에서 상기 머클 트리 루트들의 값들 중 동일한 값을 갖는 머클 트리 루트들이 소정 기준 개수보다 작은 경우에, 상기 검증자는 제 1 및 제 2 머클 트리들의 해시연산 결과값 및 태스크 노드 데이터 해시값과 함께, 상기 제 1 및 제 2 오퍼레이션 증거 정보들을 이진검색 패턴으로 전부 확인하고, 차이가 유발된 제 1 및 제 2 태스크 노드 데이터들을 발견하여 상기 태스크 노드 데이터들 중 오류가 있는 태스크 노드 데이터와 관련된 태스크 노드의 단위 기능을 재수행하고, 재수행된 태스크 노드 데이터들의 결과에 무결성을 재검증하는 정밀 검증 방식(exact verification computation 방식)을 사용하는 시스템
|
17 |
17
제 14 항에 있어서, 상기 다수 합의 과정에서 상기 머클 트리 루트들의 값들 중 동일한 값을 갖는 머클 트리 루트들이 소정 기준 개수보다 작은 경우에, 상기 검증자는 상기 제 1 및 제 2 머클 트리의 해시연산 결과값 및 태스크 노드 데이터 해시값을 랜덤 선택하여 차이가 유발된 제 1 및 제 2 태스크 노드 데이터들을 발견하여 상기 태스크 노드 데이터들 중 오류가 있는 태스크 노드 데이터와 관련된 태스크 노드의 단위 기능을 재수행하고, 재수행된 태스크 노드 데이터들의 결과에 무결성을 재검증하는 개략 검증 방식(approximate verification computation 방식)을 사용하는 시스템
|
18 |
18
제 17 항에 있어서,상기 개략 검증 방식은 상기 제 1 및 제 2 머클 트리들의 깊이도(depth degree)가 n인 경우에, 상기 제 1 및 제 2 머클 트리들에서 최하부에 위치되며 상기 태스크 노드 데이터와 관련된 태스크 노드 데이터 해시값의 개수를 n-1개로 랜덤하게 선정하여 수행되는 시스템
|
19 |
19
제 18 항에 있어서, 상기 개략 검증 방식은 상기 머클 트리 루트와 상기 태스크 노드 데이터 해시값 사이의 해시연산 결과값들 중에서 상기 선정된 태스크 노드 데이터 해시값과 연관되지 않은 해시연산 결과값을 검증 대상으로 선정하고, 깊이도가 3 이상인 경우에 최하부의 해시연산 결과값들 보다 상부 레벨에서 검증 대상으로 선정되는 상부 해시연산 결과값은 상기 선정된 태스크 노드 데이터 해시값과 상기 상부 해시연산 결과값의 하부 레벨에서 이미 선정된 해시연산 결과값의 양쪽에 연관되지 않는 시스템
|
20 |
20
제 14 항에 있어서, 상기 검증자가 상기 제 1 및 제 2 머클 트리 루트의 값을 기초하여 다수 합의로 결정된 상기 태스크 노드 그룹에 속한 상기 태스크 노드 데이터들의 상기 서비스 트랜잭션 데이터와 관련된 값이 온 체인으로 상기 분산 서비스 원장에 기록되는 것은, 상기 다수 합의로 결정된 상기 태스크 노드 그룹들에게 요청된 서비스의 작업이 완료된 경우에, 각 태스크 노드 그룹들이 오프 체인에서 관리하는 태스크 체인부에 제출된 상기 서비스 트랜잭션 데이터의 묶음 형태로 생성한 오퍼레이션 서비스 트랜잭션 블록을 상기 분산 서비스 원장의 서비스 체인부에 기록함과 아울러서, 상기 오퍼레이션 서비스 트랜잭션 블록들을 결합하여 블록 해시들로 구성된 머클 트리 루트를 트랜잭션 형태로 상기 분산 서비스 원장의 서비스 관리 체인부에 제출하여 기록하고, 상기 서비스 관리 체인부의 머클 트리 루트들을 해싱한(hashing) 서비스 상태 요약 정보를 서비스 상태 트랜잭션 형태로 상기 분산 서비스 원장의 퍼블릭(public) 공유 블록부에 저장하는 시스템
|