1 |
1
비구조적(unstructured) 블록체인 P2P 네트워크를 위한, 블록체인 네트워크에서의 토폴로지 조사 시스템으로서,상기 블록체인 네트워크는, 비트코인 네트워크이며,비트코인 코어인 풀 노드와 8333/TCP 스캔을 수행하는 개인화 된 노드의 역할을 동시에 수행하는 노드인 블록체인 브리지 노드(100)(Bridge node);블록체인 풀 노드의 위에 구현되며, 상기 블록체인 브리지 노드(100)로부터 디스커버리 스크립트의 실행 요청을 전달받아 블록체인 네트워크 및 활성 노드를 검색하는 조사 클라이언트(200)(discovery client); 및특정 노드에 대한 연결 생성 여부를 결정하는 토폴로지 분석 서버(300)를 포함하며,상기 조사 클라이언트(200)는,블록체인 네트워크 및 모든 활성 노드를 검색하고, 데이터가 포함된 각 노드에 대해 파일을 작성하여, 상기 블록체인 네트워크로부터 얻은 데이터를 포함하는 상기 작성된 파일을 상기 토폴로지 분석 서버(300)에 전달하고,상기 토폴로지 분석 서버(300)는,상기 파일에 포함된 데이터와 데이터베이스에 저장된 블록체인 네트워크의 오프라인 토폴로지 모델의 데이터를 비교하여, 오프라인 토폴로지 모델을 업데이트하며,상기 조사 클라이언트(200)는,프로세싱 스크립트, 네트워크 검색 스크립트, 및 피어 검색 스크립트를 순차적으로 실행하되,상기 프로세싱 스크립트는,데이터베이스에 저장된 초기 IP 주소 목록으로부터 검색할 네트워크를 획득하며, 네트워크 검색의 인스턴스(instance)를 생성하고,상기 네트워크 검색 스크립트는,노드들에 대한 도달 가능성(reachability)을 확인하기 위해, 일반 가입 메시지(generic join-in message)(PING/PONG)를 보냄으로써, TCP 스캔을 수행하며,상기 피어 검색 스크립트는,도달 가능한 노드들을 활성 노드로 클러스터링하되, GETADD/ADD 메시지 기반으로 활성 노드를 검색하여 도달 가능한 노드의 IP 리스트를 획득하며,상기 조사 클라이언트(200)는, 획득한 IP 리스트를 저장하며,상기 토폴로지 분석 서버(300)는,초기에 발견된 지점(initially discovered points)을 중심으로 오프라인 토폴로지 모델을 구성하되, 상기 오프라인 토폴로지 모델이 모든 블록체인 네트워크의 노드를 포함하도록 각 조사 반복(discovery iteration) 시의 데이터를 처리하여 업데이트하며,상기 토폴로지 분석 서버(300)는,상기 오프라인 토폴로지 모델을 최신으로 유지하면서, 상기 오프라인 토폴로지 모델의 분석을 통해 요약 목록(digest lists), 토폴로지 시각화 모델(topology visualization model), 및 성능 데이터를 생성하여, 상기 조사 클라이언트(200)에 전송하되,상기 브리지 노드(100)를 중심으로 주변의 노드들과 어느 강도로 연결되어 있는지를 시각적으로 나타내는 연결성 정도(Degree of Connectivity)를 통해 비트코인 네트워크의 토폴로지에 대한 정보를 시각적으로 제공하고, 비트코인 네트워크의 성능을 평가하기 위한 비트코인 노드의 트래픽 차트를 포함하는 모니터링 화면을 제공해 성능 평가 및 변화 파악을 할 수 있도록 하는 것을 특징으로 하는, 블록체인 네트워크에서의 토폴로지 조사 시스템
|
2 |
2
삭제
|
3 |
3
제1항에 있어서, 상기 조사 클라이언트(200)는,초기 IP 주소 목록으로부터, 피어의 피어를 연속적으로 발견하여 네트워크 토폴로지를 조사하는 것을 특징으로 하는, 블록체인 네트워크에서의 토폴로지 조사 시스템
|
4 |
4
삭제
|
5 |
5
삭제
|
6 |
6
삭제
|
7 |
7
삭제
|
8 |
8
삭제
|
9 |
9
삭제
|
10 |
10
제1항에 있어서, 상기 토폴로지 분석 서버(300)는,토폴로지 분석 스크립트를 지속적으로 백그라운드에서 실행하는 것을 특징으로 하는, 블록체인 네트워크에서의 토폴로지 조사 시스템
|
11 |
11
비구조적(unstructured) 블록체인 P2P 네트워크를 위한, 블록체인 네트워크에서의 토폴로지 조사 방법으로서,상기 블록체인 네트워크는, 비트코인 네트워크이며,(1) 블록체인 풀 노드(full node)의 위에 구현되는 조사 클라이언트(200)(discovery client)가, 비트코인 코어인 풀 노드와 8333/TCP 스캔을 수행하는 개인화 된 노드의 역할을 동시에 수행하는 노드인 블록체인 브리지 노드(100)(Bridge node)로부터 디스커버리 스크립트의 실행 요청을 전달받아 검색요청을 전달받는 단계;(2) 상기 조사 클라이언트(200)가, 블록체인 네트워크 및 모든 활성 노드를 검색하고, 데이터가 포함된 각 노드에 대해 파일을 작성하는 단계;(3) 상기 조사 클라이언트(200)가, 상기 블록체인 네트워크로부터 얻은 데이터를 포함하는 상기 작성한 파일을, 특정 노드에 대한 연결 생성 여부를 결정하는 토폴로지 분석 서버(300)에 전달하는 단계; 및(4) 상기 토폴로지 분석 서버(300)가, 상기 전달받은 파일에 포함된 데이터와 데이터베이스에 저장된 블록체인 네트워크의 오프라인 토폴로지 모델의 데이터를 비교하여, 오프라인 토폴로지 모델을 업데이트하는 단계를 포함하며,상기 단계 (2)에서는,프로세싱 단계, 네트워크 검색 단계 및 피어 검색 단계를 순차적으로 실행하되,상기 프로세싱 단계에서는,데이터베이스에 저장된 초기 IP 주소 목록으로부터 검색할 네트워크를 획득하며, 네트워크 검색의 인스턴스(instance)를 생성하고,상기 네트워크 검색 단계에서는,노드들에 대한 도달 가능성(reachability)을 확인하기 위해, 일반 가입 메시지(generic join-in message)(PING/PONG)를 보냄으로써, TCP 스캔을 수행하며,상기 피어 검색 단계에서는,도달 가능한 노드들을 활성 노드로 클러스터링하되, GETADD/ADD 메시지 기반으로 활성 노드를 검색하여 도달 가능한 노드의 IP 리스트를 획득하며,상기 단계 (2)에서는, 상기 피어 검색 단계에서 획득한 IP 리스트를 저장하며,상기 단계 (4)에서는,상기 토폴로지 분석 서버(300)가, 초기에 발견된 지점(initially discovered points)을 중심으로 오프라인 토폴로지 모델을 구성하되, 상기 오프라인 토폴로지 모델이 모든 블록체인 네트워크의 노드를 포함하도록 각 조사 반복(discovery iteration) 시의 데이터를 처리하여 업데이트하며,상기 토폴로지 분석 서버(300)는,상기 오프라인 토폴로지 모델을 최신으로 유지하면서, 상기 오프라인 토폴로지 모델의 분석을 통해 요약 목록(digest lists), 토폴로지 시각화 모델(topology visualization model), 및 성능 데이터를 생성하여, 상기 조사 클라이언트(200)에 전송하되,상기 브리지 노드(100)를 중심으로 주변의 노드들과 어느 강도로 연결되어 있는지를 시각적으로 나타내는 연결성 정도(Degree of Connectivity)를 통해 비트코인 네트워크의 토폴로지에 대한 정보를 시각적으로 제공하고, 비트코인 네트워크의 성능을 평가하기 위한 비트코인 노드의 트래픽 차트를 포함하는 모니터링 화면을 제공해 성능 평가 및 변화 파악을 할 수 있도록 하는 것을 특징으로 하는, 블록체인 네트워크에서의 토폴로지 조사 방법
|
12 |
12
삭제
|
13 |
13
제11항에 있어서, 상기 조사 클라이언트(200)는,초기 IP 주소 목록으로부터, 피어의 피어를 연속적으로 발견하여 네트워크 토폴로지를 조사하는 것을 특징으로 하는, 블록체인 네트워크에서의 토폴로지 조사 방법
|
14 |
14
삭제
|
15 |
15
삭제
|
16 |
16
삭제
|
17 |
17
삭제
|
18 |
18
삭제
|
19 |
19
삭제
|
20 |
20
제11항에 있어서, 상기 토폴로지 분석 서버(300)는,토폴로지 분석 스크립트를 지속적으로 백그라운드에서 실행하는 것을 특징으로 하는, 블록체인 네트워크에서의 토폴로지 조사 방법
|