블록 데이터를 공유하는 블록체인 네트워크의 시뮬레이션 방법 및 이를 이용하는 시스템
THE METHOD FOR SIMULATING BLOCKCHAIN NETWORK SHARING BLOCK DATA AND THE SYSTEM USING THE METHOD
특허 요약
블록 데이터를 공유하는 블록체인 네트워크의 시뮬레이션 방법 및 이를 이용하는 시스템이 제공된다. 블록체인 네트워크의 시뮬레이션 방법은 블록체인 네트워크에 연결된 복수의 가상 노드를 생성하는 단계, 상기 블록체인 네트워크 상에서 수행되는 트랜잭션(transaction) 또는 상기 트랜잭션이 포함된 블록을 포함하는 블록체인 데이터를 저장하고 상기 복수의 가상 노드에 의해 공동으로 액세스되는 공유 데이터 테이블을 메모리 상에 할당하는 단계를 포함한다.
청구항
번호청구항
1

블록체인 네트워크에 연결된 복수의 가상 노드를 생성하는 단계; 및상기 블록체인 네트워크 상에서 수행되는 트랜잭션(transaction) 또는 상기 트랜잭션이 포함된 블록을 포함하는 블록체인 데이터를 저장하고 상기 복수의 가상 노드에 의해 공동으로 액세스되는 공유 데이터 테이블을 메모리 상에 할당하는 단계를 포함하는,블록체인 네트워크의 시뮬레이션 방법.

2

제1 항에 있어서, 상기 공유 데이터 테이블은 상기 공유 데이터 테이블에 저장될 블록체인 데이터의 해시값을 키값으로 하는 해시 테이블을 포함하는,블록체인 네트워크의 시뮬레이션 방법.

3

제1 항에 있어서, 상기 블록체인 데이터는 상기 공유 데이터 테이블에 저장된 이후 상기 복수의 가상 노드 사이의 전파 과정에서 내용이 변경되지 않는,블록체인 네트워크의 시뮬레이션 방법.

4

제1항에 있어서,상기 복수의 가상 노드 중 어느 하나로부터 새로운 블록체인 데이터를 생성하여 상기 공유 데이터 테이블에 저장하는 단계를 더 포함하되,상기 공유 데이터 테이블에 상기 새로운 블록체인 데이터를 저장하는 단계는,상기 새로운 블록체인 데이터의 해시값을 생성하는 단계;상기 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 저장되어 있는지 여부를 판단하는 단계;상기 판단 결과에 따라 상기 공유 데이터 테이블에 상기 새로운 블록체인 데이터를 기록하는지 여부를 결정하는 단계;를 포함하는,블록체인 네트워크의 시뮬레이션 방법.

5

제4항에 있어서,상기 새로운 블록체인 데이터를 상기 공유 데이터 테이블에 기록하는지 여부를 결정하는 단계는,상기 판단 결과, 상기 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 없는 경우 상기 공유 데이터 테이블에 상기 새로운 블록체인 데이터를 저장하고,상기 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 있는 경우 해당 데이터의 참조 횟수를 1 증가시키는 단계를 포함하는, 블록체인 네트워크의 시뮬레이션 방법.

6

제1항에 있어서,상기 복수의 가상 노드 중 어느 하나로부터 다른 가상 노드로 블록체인 데이터를 전송하는 단계를 더 포함하되,상기 블록체인 데이터를 전송하는 단계는,전송될 블록체인 데이터의 해시값을 생성하는 단계;상기 생성된 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 저장되어 있는지 여부를 판단하는 단계;상기 판단 결과에 따라 상기 생성된 해시값을 포함한 데이터 패킷을 상기 다른 가상 노드로 전송하는지 여부를 결정하는 단계;를 포함하는,블록체인 네트워크의 시뮬레이션 방법.

7

제 6항에 있어서,상기 다른 가상 노드가 상기 생성된 해시값을 수신하는 단계; 및상기 공유 데이터 테이블로부터 상기 해시값을 키값으로 하는 데이터를 검색하여 상기 전송된 블록체인 데이터로 이용하는 단계를 더 포함하는,블록체인 네트워크의 시뮬레이션 방법.

8

제1항에 있어서,상기 공유 데이터 테이블에 저장된 데이터를 삭제하는 단계를 더 포함하되,삭제가 필요한 블록체인 데이터의 해시값을 상기 공유 데이터 테이블로부터 검색하는 단계;상기 검색 결과 상기 공유 데이터 테이블의 참조 횟수를 감소시키고, 참조 횟수가 0인 경우 상기 공유 데이터 테이블로부터 상기 블록체인 데이터를 삭제하는 단계를 포함하는,블록체인 네트워크의 시뮬레이션 방법.

9

블록체인 네트워크를 구성하는 복수의 가상 노드의 동작을 시뮬레이션하는 연산부; 및상기 블록체인 네트워크 상에서 수행되는 트랜잭션 또는 상기 트랜잭션이 포함된 블록을 포함하는 블록체인 데이터를 저장하고 상기 복수의 가상 노드에 의해 공동으로 액세스되는 공유 데이터 테이블을 저장하는 메모리부를 포함하는,블록체인 네트워크의 시뮬레이션 시스템.

10

제 9항에 있어서,상기 공유 데이터 테이블은 상기 공유 데이터 테이블에 저장될 블록체인 데이터의 해시값을 키값으로 하는 해시 테이블을 포함하는,블록체인 네트워크의 시뮬레이션 시스템.

11

제 10항에 있어서,상기 블록체인 데이터는 상기 공유 데이터 테이블에 저장된 이후 상기 복수의 가상 노드 사이의 전파 과정에서 내용이 변경되지 않는,블록체인 네트워크의 시뮬레이션 시스템.

12

제 9항에 있어서,상기 복수의 가상 노드 중 어느 하나가 새로운 블록체인 데이터를 생성하여 상기 공유 데이터 테이블에 저장하되,상기 새로운 블록체인 데이터를 공유 데이터 테이블에 저장하는 것은,상기 새로운 블록체인 데이터의 해시값을 생성하고,상기 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 저장되어 있는지 여부를 판단하고,상기 판단 결과에 따라 상기 공유 데이터 테이블에 상기 새로운 블록체인 데이터를 기록하는지 여부를 결정하는 것을 포함하는,블록체인 네트워크의 시뮬레이션 시스템.

13

제 12항에 있어서,상기 새로운 블록체인 데이터를 상기 공유 데이터 테이블에 기록하는지 여부를 결정하는 것은,상기 판단 결과, 상기 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 없는 경우 상기 공유 데이터 테이블에 상기 새로운 블록체인 데이터를 저장하고,상기 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 있는 경우 해당 데이터의 참조 횟수를 1 증가시키는 것을 포함하는,블록체인 네트워크의 시뮬레이션 시스템.

14

제 9항에 있어서,상기 복수의 가상 노드 중 어느 하나가 다른 가상 노드로 블록체인 데이터를 전송하되,상기 블록체인 데이터를 전송하는 것은,전송될 블록체인 데이터의 해시값을 생성하고,상기 생성된 해시값을 키값으로 하는 데이터가 상기 공유 데이터 테이블에 저장되어 있는지 여부를 판단하고,상기 판단 결과에 따라 상기 생성된 해시값을 포함한 데이터 패킷을 상기 다른 가상 노드로 전송하는지 여부를 결정하는 것을 포함하는,블록체인 네트워크의 시뮬레이션 시스템.

15

제 14항에 있어서,상기 다른 가상 노드가 상기 생성된 해시값을 수신하고,상기 해시값을 수신한 가상 노드는 공유 데이터 테이블로부터 상기 해시값을 키값으로 하는 데이터를 검색하여 상기 전송될 블록체인 데이터로 갈음하는,블록체인 네트워크의 시뮬레이션 시스템.

16

제 9항에 있어서,상기 공유 데이터 테이블에 저장된 데이터를 삭제하되,삭제가 필요한 블록체인 데이터의 해시값을 상기 공유 데이터 테이블로부터 검색하고,상기 검색 결과 상기 공유 데이터 테이블의 참조 횟수를 감소시키고, 참조 횟수가 0인 경우 상기 공유 데이터 테이블로부터 상기 블록체인 데이터를 삭제하는,블록체인 네트워크의 시뮬레이션 시스템.

17

제 1항 내지 제 8항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.