1 |
1
블록 생성 노드가 사용자로부터 트랜잭션을 통해 요청받은 스마트 계약에 따른 외부기기 호출명령을 수신함에 따라 상기 블록 생성 노드만이 직접 외부기기를 호출하는 단계;상기 블록 생성 노드가 상기 외부기기로부터 서명을 포함하는 외부 응답 데이터를 수신하는 단계;상기 블록 생성 노드가 상기 서명을 검증하고, 상기 외부 응답 데이터를 블록에 저장하여 네트워크의 다른 노드들에게 상기 블록을 전파하는 단계; 및상기 블록을 전파받은 다른 노드들의 블록 검증 노드가 상기 블록에 저장된 트랜잭션이 요청하는 스마트 계약에서 외부기기 호출명령을 발견하면 상기 외부기기에 대한 호출을 대체하여 상기 블록에 저장된 서명 검증을 통해 상기 외부 응답 데이터의 유효성만을 검증함으로써 상기 외부 응답 데이터가 상기 외부기기로부터의 데이터가 맞는지 여부와 올바른 외부기기 호출에 대한 응답이 맞는지 여부를 검증하는 단계;를 포함하는, 블록체인 기반 외부 서비스 지원방법
|
2 |
2
제 1 항에 있어서,상기 외부기기를 호출하는 단계는,외부기기 호출 인터페이스에 따라 외부기기 호출 데이터를 생성하여 상기 외부기기로 전송하고, 상기 외부기기 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시, 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉하는, 블록체인 기반 외부 서비스 지원방법
|
3 |
3
제 2 항에 있어서,상기 블록 생성 노드가 상기 서명을 검증하고, 상기 외부 응답 데이터를 블록에 저장하는 단계는,각 상기 외부 응답 데이터의 상기 블록 높이를 제거하고, 동일 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거하여 겹치는 데이터를 제거하는, 블록체인 기반 외부 서비스 지원방법
|
4 |
4
제 2 항에 있어서,상기 호출된 외부기기가, 상기 외부기기 호출 데이터에 상응하는 작업을 수행하는 단계;외부 응답 인터페이스에 따라 상기 공개키를 자신의 비밀키로 서명하여 외부 응답 데이터를 생성하는 단계; 및상기 외부 응답 데이터를 상기 블록 생성 노드에 전달하여 호출에 응답하는 단계;를 더 포함하는, 블록체인 기반 외부 서비스 지원방법
|
5 |
5
제 1 항에 있어서,상기 블록 검증 노드가 상기 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 단계는, 상기 블록에 저장된 트랜잭션들이 요청하는 스마트 계약을 실행하는 단계; 및상기 스마트 계약 실행 도중 상기 외부기기를 호출하는 명령어에 따라 상기 외부기기를 호출하는 대신, 상기 블록에 저장된 상기 외부 응답 데이터로서 외부기기 호출 인터페이스 및 외부 응답 데이터의 서명을 검증하는 단계;를 포함하는, 블록체인 기반 외부 서비스 지원방법
|
6 |
6
제 5 항에 있어서,상기 블록 검증 노드는 상기 외부기기에 대한 호출 인터페이스 및 상기 외부기기가 보낸 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 해당 블록을 저장하는 단계를 더 포함하는, 블록체인 기반 외부 서비스 지원방법
|
7 |
7
제 1 항에 있어서,상기 사용자로부터 외부기기 호출명령을 수신하는 단계는,상기 사용자로부터 스마트 계약 실행을 위한 트랜잭션을 수신하고, 상기 트랜잭션에서 요청한 스마트 계약의 실행에 관련하여 상기 외부기기 호출명령을 수신하는, 블록체인 기반 외부 서비스 지원방법
|
8 |
8
제 1 항 내지 제 7 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체
|
9 |
9
사용자로부터 트랜잭션을 통해 요청받은 스마트 계약에 따라 직접 외부기기를 호출하고, 상기 외부기기로부터 서명을 포함하는 외부 응답 데이터를 수신하며, 상기 서명을 검증하여 상기 외부 응답 데이터를 블록에 저장하고, 네트워크의 다른 노드들에게 상기 블록을 전파하는 블록 생성 노드; 및상기 전파받은 블록에 저장된 트랜잭션이 요청하는 스마트 계약에서 외부기기 호출명령을 발견하면 상기 블록에 저장된 서명 검증을 통해 상기 외부 응답 데이터의 유효성만을 검증함으로써 상기 외부 응답 데이터가 상기 외부기기로부터의 데이터가 맞는지 여부와 올바른 외부기기 호출에 대한 응답이 맞는지 여부를 검증하는 것으로 상기 외부기기에 대한 호출을 대체하는 블록 검증 노드;를 포함하는, 블록체인 기반 외부 서비스 지원 시스템
|
10 |
10
제 9 항에 있어서,상기 블록 생성 노드는,외부기기 호출 인터페이스에 따라 외부기기 호출 데이터를 생성하여 상기 외부기기로 전송하고, 상기 외부기기 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉하는, 블록체인 기반 외부 서비스 지원 시스템
|
11 |
11
제 10 항에 있어서,상기 블록 생성 노드는,상기 서명을 검증하여 상기 외부 응답 데이터를 블록에 저장할 때, 상기 외부 응답 데이터의 블록 높이를 제거하고, 동일 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거하여 겹치는 데이터를 제거하는, 블록체인 기반 외부 서비스 지원 시스템
|
12 |
12
제 10 항에 있어서,상기 외부기기는,상기 호출 데이터에 상응하는 작업을 수행하고, 외부 응답 인터페이스에 따라 상기 공개키를 자신의 비밀키로 서명하여 외부 응답 데이터를 생성하며, 상기 외부 응답 데이터를 상기 블록 생성 노드에 전달하여 호출에 응답하는, 블록체인 기반 외부 서비스 지원 시스템
|
13 |
13
제 9 항에 있어서,상기 블록 검증 노드는,상기 블록에 저장된 트랜잭션들이 요청하는 스마트 계약을 실행하는 도중 상기 외부기기를 호출하는 명령어에 따라 상기 외부기기를 호출하는 대신, 상기 블록에 저장된 상기 외부 응답 데이터로서, 외부기기 호출 인터페이스 및 외부 응답 데이터의 서명을 검증하는, 블록체인 기반 외부 서비스 지원 시스템
|
14 |
14
제 13 항에 있어서,상기 블록 검증 노드는,상기 외부기기에 대한 호출 인터페이스 및 상기 외부기기가 보낸 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 해당 블록을 저장하는, 블록체인 기반 외부 서비스 지원 시스템
|
15 |
15
제 9 항에 있어서,상기 블록 생성 노드는,사용자로부터 스마트 계약 실행을 위한 트랜잭션을 수신하고, 상기 트랜잭션에서 요청한 스마트 계약의 실행에 관련하여 외부기기 호출명령을 수신하는, 블록체인 기반 외부 서비스 지원 시스템
|