KR102594203B1 - 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치 - Google Patents

비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치 Download PDF

Info

Publication number
KR102594203B1
KR102594203B1 KR1020230012719A KR20230012719A KR102594203B1 KR 102594203 B1 KR102594203 B1 KR 102594203B1 KR 1020230012719 A KR1020230012719 A KR 1020230012719A KR 20230012719 A KR20230012719 A KR 20230012719A KR 102594203 B1 KR102594203 B1 KR 102594203B1
Authority
KR
South Korea
Prior art keywords
region
timestamp
transaction
monitoring node
abnormal transaction
Prior art date
Application number
KR1020230012719A
Other languages
English (en)
Other versions
KR20230023683A (ko
Inventor
이정수
임대성
Original Assignee
두나무 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 두나무 주식회사 filed Critical 두나무 주식회사
Priority to KR1020230012719A priority Critical patent/KR102594203B1/ko
Publication of KR20230023683A publication Critical patent/KR20230023683A/ko
Application granted granted Critical
Publication of KR102594203B1 publication Critical patent/KR102594203B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4015Transaction verification using location information
    • G06Q20/40155Transaction verification using location information for triggering transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

비정상 트랜잭션의 기록 요청을 송신한 클라이언트 장치의 물리적 위치 정보를 자동화된 방식으로 제공하는 방법 및 그 장치가 제공된다. 일 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법은, 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻되, 상기 리전 모니터링 노드는 일반 블록체인 노드와 함께 블록체인 네트워크를 구성하는 블록체인 노드이고, 서로 겹치지 않도록 구획된 각각의 지리적 영역을 가리키는 리전 마다 배치된 블록체인 노드인, 단계와, 각각의 리전 모니터링 노드의 타임스탬프들을 비교하는 단계와, 상기 비교의 결과를 이용하여, 상기 블록체인 네트워크의 전체 리전들 중, 상기 비정상 트랜잭션과 관련된 리전인 문제 리전을 결정하는 단계를 포함할 수 있다.

Description

비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치{METHOD AND APPARATUS FOR PROVIDING LOCATION INFORMATION OF ORIGIN OF REQUEST FOR ABNORMAL TRANSACTION}
본 명세서의 기재는 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 특정 트랜잭션(transaction)에 대한 요청(request)이 최초로 수신된 지리적 위치에 대한 정보를 자동화된 방식으로 제공함으로써, 문제 있는 트랜잭션을 발생시킨 해커 등에 대한 신속한 추적을 가능하게 하는 방법 및 그 장치에 관한 것이다.
비트코인으로 대표되는 암호 화폐(crypto-currency)가 블록체인 기술을 기반으로 거래되고 있다. 각각의 거래는 트랜잭션의 형태로 패키징 되어 블록체인의 블록에 저장되고 있으며, 상기 블록체인은 블록체인 노드들에 복제되어 저장되고 있으므로, 특정인이 거래에 대한 정보를 조작하는 것은 매우 어렵다. 따라서, 블록체인에 기반한 암호 화폐의 거래 방식은 높은 신뢰도가 인정되고 있다.
암호 화폐의 트랜잭션에 대한 기록은 블록체인을 통하여 투명하게 공개되고 있으므로 누구나 트랜잭션을 조회할 수 있으나, 각 거래자에 대한 신원 정보 등은 알 수 없다. 이러한 익명성으로 인하여, 암호 화폐가 범죄에 이용되는 등의 문제가 있다. 이러한 문제에 대응하기 위하여, 공공 기관 또는 암호 화폐 거래소 등에서는, 문제 트랜잭션이 식별되면 문제되는 트랜잭션에 따라 입금된 암호 화폐의 출금을 신속하게 차단하는 등의 방식으로 대응하고 있다. 이러한 대응에 의하여 범죄 수익 등이 암호 화폐를 통하여 자금 세탁이 되는 것은 어느 정도 차단될 수 있을 것이다.
그런데, 해커 등의 접속 위치를 파악하는 것은 여전히 쉽지 않다. 암호 화폐의 트랜잭션이 기록되는 블록체인의 각 블록에는 트랜잭션 기록 요청이 발송된 클라이언트 장치에 대한 정보가 기록되지 않기 때문이다.
한국공개특허 제2019-0046486호 (2019.05.07 공개)
본 명세서에 기재된 실시예는, 비정상 트랜잭션이 식별되면, 그 트랜잭션의 기록 요청이 최초로 블록체인 노드에 유입된 지리적 위치에 대한 정보를 자동으로 제공하는 방법 및 그 장치에 관한 것이다.
본 명세서에 기재된 실시예는, 비정상 트랜잭션이 식별되면, 그 비정상 트랜잭션의 기록 요청을 송신한 클라이언트 장치의 물리적 위치 정보를 자동화된 방식으로 제공하는 방법 및 그 장치에 관한 것이다.
본 명세서에 기재된 실시예는, 이상에서 언급되지 않은 또 다른 방법 및 그 장치를 제공하는 것으로 아래의 기재로부터 이해될 수 있을 것이다.
본 명세서에 기재된 일 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법은, 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻되, 상기 리전 모니터링 노드는 일반 블록체인 노드와 함께 블록체인 네트워크를 구성하는 블록체인 노드이고, 서로 겹치지 않도록 구획된 각각의 지리적 영역을 가리키는 리전 마다 배치된 블록체인 노드인, 단계와, 각각의 리전 모니터링 노드의 타임스탬프들을 비교하는 단계와, 상기 비교의 결과를 이용하여, 상기 블록체인 네트워크의 전체 리전들 중, 상기 비정상 트랜잭션과 관련된 리전인 문제 리전을 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프는, 상기 리전 모니터링 노드에 의하여 독자적으로 생성된 값일 수 있다. 상기 타임스탬프는 상기 블록체인 네트워크를 통하여 분산 저장되는 블록체인의 블록에 포함되는 트랜잭션의 타임스탬프와 상이할 수 있다.
일 실시예에서, 상기 문제 리전을 결정하는 단계는, 상기 비교의 결과, 상기 비정상 트랜잭션에 대한 가장 빠른 타임스탬프를 가진 리전 모니터링 노드의 리전을 상기 문제 리전으로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻는 단계는, 상기 각각의 리전 모니터링 노드에, 상기 비정상 트랜잭션의 식별정보를 포함한 타임스탬프 조회 요청 신호를 송신하는 단계를 포함할 수 있다.
일 실시예에서, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻는 단계는, 상기 각각의 리전 모니터링 노드로부터, 상기 각각의 리전 모니터링 노드에 의하여 부여된 각 트랜잭션의 타임스탬프를 수신하는 단계와, 상기 수신된 각 트랜잭션의 타임스탬프를 이용하여, 각각의 트랜잭션에 대한 각 리전 모니터링 노드의 타임스탬프의 연결 관계를 가리키는 데이터를 저장하는 단계와, 상기 저장된 데이터를 이용하여, 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻는 단계를 포함할 수 있다. 이 때, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프는, 블록체인 동기화에 따라, 상기 각각의 리전 모니터링 노드가 상기 비정상 트랜잭션에 대한 네트워크 패킷을 수신한 때의 상기 로컬 시간 정보일 수 있다. 또한, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프는, 블록체인 동기화에 따라, 상기 각각의 리전 모니터링 노드가 상기 비정상 트랜잭션에 대한 최초의 네트워크 패킷을 수신한 때의 상기 로컬 시간 정보일 수 있다.
몇몇 실시예들에서, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프는, 블록체인 동기화에 따라, 상기 각각의 리전 모니터링 노드의 메모리 풀(memory pool)에 상기 비정상 트랜잭션이 저장된 때의 상기 로컬 시간 정보일 수도 있다. 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻는 단계는 상기 메모리 풀에 상기 비정상 트랜잭션이 저장된 적이 있는 일부의 리전 모니터링 노드로부터, 상기 비정상 트랜잭션의 타임스탬프를 얻는 단계를 포함하고, 상기 문제 리전을 결정하는 단계는 상기 일부의 리전 모니터링 노드의 리전들 중에서 상기 문제 리전을 결정하는 단계를 포함할 수 있다.
또한, 몇몇 실시예들에서, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프는, 상기 비정상 트랜잭션이 메모리 풀에 저장된 적이 있는 리전 모니터링 노드가 존재하는 경우, 상기 각각의 리전 모니터링 노드의 메모리 풀(memory pool)에 상기 비정상 트랜잭션이 저장된 때의 상기 로컬 시간 정보이고, 상기 비정상 트랜잭션이 메모리 풀에 저장된 적이 있는 리전 모니터링 노드가 존재하지 않는 경우, 상기 각각의 리전 모니터링 노드에 상기 비정상 트랜잭션이 포함된 블록이 추가된 때의 상기 로컬 시간 정보일 수 있다.
일 실시예에서, 상기 블록체인 네트워크는, 트랜잭션의 블록체인 기재 요청을 상기 일반 블록체인 노드를 통하여만 수신할 수 있다. 상기 리전 모니터링 노드는, 클라이언트 장치로부터 상기 비정상 트랜잭션과 관련된 요청을 수신한 제1 일반 블록체인 노드에 의하여 생성된 비정상 트랜잭션의 네트워크 패킷을 직접 수신하거나, 상기 비정상 트랜잭션의 네트워크 패킷을 하나 이상의 제2 일반 블록체인 노드를 통해 간접 수신할 수 있다.
본 명세서에 기재된 다른 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 장치는, 복수의 리전 모니터링 노드와 연결되는 네트워크 인터페이스와, 컴퓨터 프로그램이 로드되는 메모리와, 상기 메모리에 로드된 컴퓨터 프로그램을 실행하는 프로세서를 포함할 수 있다. 이 때, 상기 컴퓨터 프로그램은, 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻되, 상기 리전 모니터링 노드는 일반 블록체인 노드와 함께 블록체인 네트워크를 구성하는 블록체인 노드이고, 서로 겹치지 않도록 구획된 각각의 지리적 영역을 가리키는 리전 마다 배치된 블록체인 노드인, 인스트럭션(instruction)과, 각각의 리전 모니터링 노드의 타임스탬프들을 비교하는 인스트럭션과, 상기 비교의 결과를 이용하여, 상기 블록체인 네트워크의 전체 리전들 중, 상기 비정상 트랜잭션과 관련된 리전인 문제 리전을 결정하는 인스트럭션과, 상기 문제 리전에 대한 정보 및 상기 문제 리전의 리전 모니터링 노드에서 생성된 상기 비정상 트랜잭션의 최초 타임스탬프에 대한 정보를 출력하는 인스트럭션을 포함할 수 있다.
일 실시예에서, 상기 컴퓨터 프로그램은, 상기 복수의 리전 모니터링 노드가 시간 동기화 프로세스를 수행하도록 제어하는 인스트럭션을 더 포함할 수 있다.
도 1은 본 명세서에 기재된 일 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 시스템의 구성도이다.
도 2는 도 1을 참조하여 설명한 시스템의 구성 및 동작을 설명하기 위한 도면이다.
도 3은 본 명세서의 몇몇 실시예들에서 기록되고 참조될 수 있는 트랜잭션-리전 모니터링 노드 타임스탬프 매칭 테이블의 예시이다.
도 4는 도 1을 참조하여 설명한 시스템에서 제시될 수 있는 정보를 설명하기 위한 도면이다.
도 5는 하나의 리전에 복수의 리전 모니터링이 배치된 상황에서, 도 1을 참조하여 설명한 시스템의 동작을 설명하기 위한 도면이다.
도 6 내지 도 7은 본 명세서의 다른 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법의 순서도들이다.
도 8은 도 6 내지 도 7을 참조하여 설명한 방법의 일부 동작을 보다 상세히 설명하기 위한 순서도이다.
도 9는 본 명세서의 또 다른 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 명세서의 실시예들을 상세히 설명한다. 본 명세서의 실시예들의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 명세서의 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 명세서의 실시예들을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 명세서의 실시예들의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 일 실시예에 따른 비정상 트랜잭션 요청 발생 위치 제공 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 비정상 트랜잭션 요청 발생 위치 제공 시스템은 비정상 트랜잭션 발생 위치 제공 서버(100) 및 하나 이상의 리전 모니터링 노드(21, 22, 23)를 포함할 수 있다.
블록체인 네트워크(10)는 P2P(peer-to-peer) 방식으로 연결되는 복수의 블록체인 노드를 포함하여 구성된다. 블록체인 노드는, 블록체인 프로토콜에 따라 동작하는 노드이다. 각 블록체인 노드는 블록들의 연결인 블록체인을 저장할 수 있다. 각 블록체인 노드는 상기 블록체인 프로토콜에서 정의된 합의 프로세스를 수행하고, 이를 통해 트랜잭션의 무결성 및 보안성을 보장할 수 있다.
몇몇 실시예들에서, 상기 블록체인 프로토콜은 비트코인, 이더리움 등의 암호화폐 프로토콜일 수 있다. 다만, 실시예들이 암호화폐 프로토콜에 의하여 동작하는 블록체인 네트워크(10)에 대하여만 동작하는 것은 아니고, 각각의 트랜잭션을 분산 저장하기 위한 모든 블록체인 프로토콜에 의하여 동작하는 블록체인 네트워크(10)에 대하여 동작할 수 있음을 유의하여야 한다.
도 1에 도시된 바와 같이, 상기 복수의 블록체인 노드의 위치는 글로벌 하게 분포되어 있을 수 있다. 지리적 위치의 구분을 위하여 가상의 리전(region)이 형성될 수 있다. 따라서, 각각의 리전은 서로 겹치지 않도록 구획될 수 있다. 예를 들어, 각각의 리전은 대륙을 가리킬 수 있을 것이다. 도 1에는 아메리카 리전(11), 유럽 리전(12), 아시아 리전(13)이 도시되어 있다.
블록체인 네트워크(10)의 블록체인 노드는 일반 블록체인 노드와 리전 모니터링 노드로 구분될 수 있다. 상기 리전 모니터링 노드 역시 블록체인 네트워크(10)를 구성하는 블록체인 노드이기는 하나, 일반 블록체인 노드가 수행하지 않는 추가적인 로직을 수행하는 블록체인 노드로 이해될 수 있을 것이다.
몇몇 실시예들에서, 블록체인 네트워크(10)에는 복수의 리전 모니터링 노드가 포함되는 것이 바람직하다. 자세히 후술하겠지만, 비정상 트랜잭션 요청의 발생 위치를 특정하기 위한 기준이 각각의 리전 모니터링 노드인 바, 리전 모니터링 노드의 개수가 많을수록 더 좁은 지리적 위치로 비정상 트랜잭션 요청의 발생 위치가 특정될 수 있다.
또한, 상기 리전 모니터링 노드는 각각의 리전을 대표하는 노드로 이해될 수 있을 것이다. 몇몇 실시예에서는, 하나의 리전에 하나의 리전 모니터링 노드 만이 배치될 수 있고, 다른 몇몇 실시예에서는, 하나의 리전에 복수의 리전 모니터링 노드들이 배치될 수도 있다.
몇몇 실시예에서, 각각의 블록체인 노드는 리전과 일대일 대응될 수 있다. 이 때, 비정상 트랜잭션 발생 위치 제공 서버(100)는 블록체인 노드와 리전의 매칭 데이터를 저장하고 관리할 수 있을 것이다.
다른 몇몇 실시예에서, 각각의 블록체인 노드와 리전 사이의 연결 관계는 별도로 관리되지 않을 수도 있다. 일부의 블록체인 노드는 소속된 리전이 존재하지 않을 수도 있을 것이다. 즉, 상기 리전은 지리적 영역을 가리키는 관념적인 영역으로서, 리전 모니터링 노드가 배치된 지리적 영역을 가리킬 수도 있는 것이다.
비정상 트랜잭션 발생 위치 제공 서버(100)는 블록체인 네트워크(10)의 노드들 중 리전 모니터링 노드들(21, 22, 23)과 연결되어 데이터를 송수신할 수 있다.
리전 모니터링 노드들(21, 22, 23)은 비정상 트랜잭션 발생 위치 제공 서버(100)와의 사전 정의된 방식의 데이터 송수신을 수행하는 점에서도 상기 일반 블록체인 노드와 기능적으로 서로 상이할 수 있다. 예를 들어, 블록체인 네트워크(10)가 비트코인 네트워크인 경우, 상기 일반 블록체인 노드 및 상기 리전 모니터링 노드들(21, 22, 23) 모두는 비트코인 코어 어플리케이션이 설치된 노드인 점에서는 공통되나, 상기 일반 블록체인 노드는 비정상 트랜잭션 발생 위치 제공 서버(100)와의 사전 정의된 방식의 데이터 송수신을 지원하지 않고, 리전 모니터링 노드들(21, 22, 23) 만이 상기 사전 정의된 방식의 데이터 송수신을 지원할 수 있다.
상기 사전 정의된 방식의 데이터 송수신을 위하여, 리전 모니터링 노드들(21, 22, 23)에는 상기 비트코인 코어 어플리케이션에 더하여 비정상 트랜잭션 요청 발생 위치 제공을 위한 추가 어플리케이션 또는 서비스를 상시 실행할 수 있다.
도 1에는, 아메리카 리전(11)의 리전 모니터링 노드(21), 유럽 리전(12)의 리전 모니터링 노드(22), 아시아 리전(13)의 리전 모니터링 노드(23)가 비정상 트랜잭션 발생 위치 제공 서버(100)와 연결된 것이 도시되어 있다.
비정상 트랜잭션 발생 위치 제공 서버(100)는 보안 요원 단말(200)과 네트워크를 통하여 연결될 수 있다. 상기 네트워크는 보안성을 강화하기 위하여 외부망과 연결되지 않은 내부망일 수 있다. 비정상 트랜잭션 발생 위치 제공 서버(100)는 보안 요원 단말(200)로부터 블록체인 네트워크(10)의 블록체인에 기록된 트랜잭션 중 비정상 트랜잭션에 대한 식별 정보를 수신할 수 있다.
비정상 트랜잭션 발생 위치 제공 서버(100)는 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드(21, 22, 23)의 타임스탬프를 얻을 수 있다. 예를 들어, 비정상 트랜잭션 발생 위치 제공 서버(100)는 각각의 리전 모니터링 노드(21, 22, 23)에, 상기 비정상 트랜잭션의 식별정보를 포함한 타임스탬프 조회 요청 신호를 송신할 수 있다.
상기 타임스탬프 조회 요청 신호는, 각각의 리전 모니터링 노드(21, 22, 23)의 블록체인 프로토콜에서 처리되지 아니하고, 상기 블록체인 프로토콜과 별개의 소프트웨어인, 비정상 트랜잭션 요청 발생 위치 제공 어플리케이션 또는 서비스에서 처리될 수 있다.
상기 요청되는 타임스탬프는, 블록체인에 기록된 상기 비정상 트랜잭션의 발생 타임스탬프와는 다른 것으로, 리전 모니터링 노드(21, 22, 23)에 의하여 생성된 타임스탬프를 가리킬 수 있킨. 따라서, 동일한 상기 비정상 트랜잭션에 대하여, 아메리카 리전(11)의 리전 모니터링 노드(21)가 송신한 타임스탬프와, 유럽 리전(12)의 리전 모니터링 노드(22)가 송신한 타임스탬프와, 아시아 리전(13)의 리전 모니터링 노드(23)가 송신한 타임스탬프는 서로 다를 수 있다.
비정상 트랜잭션 발생 위치 제공 서버(100)는 각각의 리전 모니터링 노드로부터 수신된 타임스탬프들을 비교하여, 가장 빠른 타임스탬프를 식별할 수 있다. 다음으로, 비정상 트랜잭션 발생 위치 제공 서버(100)는 가장 빠른 타임스탬프를 송신한 리전 모니터링 노드가 소속된 리전을 상기 비정상 트랜잭션과 관련된 리전인 문제 리전을 결정할 수 있다.
이하, 가장 빠른 타임스탬프를 송신한 리전 모니터링 노드가 소속된 리전을 문제 리전으로 결정하는 이유를 설명한다.
블록체인 노드가 클라이언트 장치로부터 트랜잭션 기록 요청을 수신하면, 상기 블록체인 노드는 블록체인 프로토콜에 따라 상기 트랜잭션에 대한 정보를 다른 블록체인 노드들에게 전파하게 될 것이다. 이 과정에서 각각의 리전 모니터링 노드도 상기 트랜잭션에 대한 정보를 수신하게 될 것이다. 각각의 리전 모니터링 노드 역시 블록체인 노드이기 때문이다.
그런데, 상기 트랜잭션에 대한 정보를 수신하는 시간은 물리적인 거리에 따라 미세하게나마 차이가 날 수밖에 없다. 예를 들어, 아메리카 대륙에 위치한 일반 블록체인 노드가 상기 일반 블록체인 노드에 인접한 위치에서 접속한 클라이언트 장치로부터 상기 비정상 트랜잭션의 기록 요청을 최초로 수신했다면, 상기 일반 블록체인 노드가 전파한 상기 비정상 트랜잭션에 대한 정보는 아메리카 리전(11)의 리전 모니터링 노드(21)가 유럽 리전(12)의 리전 모니터링 노드(22) 또는 아시아 리전(13)의 리전 모니터링 노드(23) 보다 더 먼저 수신하게 될 것이다.
따라서, 비정상 트랜잭션에 대한 가장 빠른 타임스탬프를 제공한 리전 모니터링 노드의 리전에 위치한 블록체인 노드가 상기 비정상 트랜잭션의 기록 요청을 최초로 수신했을 가능성이 높은 것이다. 이러한 점을 이용하여, 비정상 트랜잭션 발생 위치 제공 서버(100)는 가장 빠른 타임스탬프를 송신한 리전 모니터링 노드가 소속된 리전을 문제 리전으로 결정할 수 있다.
지금까지, 비정상 트랜잭션 발생 위치 제공 서버(100)가 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드(21, 22, 23)의 타임스탬프를 얻기 위하여, 각각의 리전 모니터링 노드(21, 22, 23)에 타임스탬프 조회 요청 신호를 상기 비정상 트랜잭션이 지정되었을 때 송신하는 실시예를 설명하였다.
이러한 실시예에 따르면, 비정상 트랜잭션이 발생되지 않을 때에는 각각의 리전 모니터링 노드(21, 22, 23)와 비정상 트랜잭션 발생 위치 제공 서버(100) 간의 데이터 송수신 트래픽이 발생되지 않는 바, 리전 모니터링 노드(21, 22, 23)의 블록체인 프로토콜 실행에 방해가 되는 네트워크 트래픽 발생 또는 연산 수행을 최소화 할 수 있을 것이다.
또한, 비정상 트랜잭션이 발생되지 않을 때에는 각각의 리전 모니터링 노드(21, 22, 23)와 비정상 트랜잭션 발생 위치 제공 서버(100) 간의 데이터 송수신 트래픽이 발생되지 않는 바, 리전 모니터링 노드(21, 22, 23)의 존재가 해커 등의 공격자로부터 안전하게 은닉될 수 있는 효과도 얻을 수 있을 것이다.
다른 몇몇 실시예들에서는, 비정상 트랜잭션 발생 위치 제공 서버(100)가 요청하지 않더라도 각각의 리전 모니터링 노드(21, 22, 23)가 트랜잭션 별 타임스탬프를 비정상 트랜잭션 발생 위치 제공 서버(100)에 지속적으로 제공할 수도 있을 것이다.
이 때, 비정상 트랜잭션 발생 위치 제공 서버(100)는, 상기 각각의 리전 모니터링 노드로부터, 상기 각각의 리전 모니터링 노드에 의하여 부여된 각 트랜잭션의 타임스탬프를 수신하고, 상기 수신된 각 트랜잭션의 타임스탬프를 이용하여, 각각의 트랜잭션에 대한 각 리전 모니터링 노드의 타임스탬프의 연결 관계를 가리키는 데이터를 저장할 수 있을 것이다. 상기 데이터는, 예를 들어 도 3에 도시된 테이블(30)의 형태로 구성될 수 있을 것이다.
비정상 트랜잭션 발생 위치 제공 서버(100)는, 상기 비정상 트랜잭션에 대한 식별 정보가 보안 요원 단말(200)로부터 수신되면, 상기 저장된 데이터를 이용하여 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻을 수 있을 것이다. 이러한 실시예에 따르면, 비정상 트랜잭션에 대한 신속한 추적이 필요할 경우, 각각의 리전 모니터링 노드에 타임스탬프를 요청하는데 소요되는 시간을 아낄 수 있는 효과를 얻을 수 있을 것이다.
도 2를 참조하여 설명한다. 각각의 리전 모니터링 노드(21, 22, 23)는 시간 동기화 프로세스를 수행할 수 있다. 상기 시간 동기화 프로세스는 비정상 트랜잭션 발생 위치 제공 서버(100)의 제어에 의하여 수행될 수도 있고, 각각의 리전 모니터링 노드(21, 22, 23)가 주기적으로 자체적으로 수행할 수도 있다.
상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프는, 상기 시간 동기화 프로세스가 실행된 결과, 상기 각각의 리전 모니터링 노드에 동기화되는 로컬 시간 정보에 기반하여 생성될 수 있다. 상기 시간 동기화 프로세스에 의하여 각각의 리전 모니터링 노드(21, 22, 23)의 타임스탬프의 신뢰성이 확보된다.
또한, 상기 시간 동기화 프로세스는 상기 일반 블록체인 노드에서는 수행되지 않고 상기 리전 모니터링 노드에서만 수행될 수 있다. 즉, 상기 리전 모니터링 노드는 상기 시간 동기화 프로세스를 수행하는 반면, 상기 일반 블록체인 노드는 상기 시간 동기화 프로세스를 수행하지 않는 점에서 그 기능상 차이가 있음을 이해할 수 있을 것이다.
또한, 각각의 리전 모니터링 노드(21, 22, 23)는 트랜잭션의 블록체인 기재 요청을 송신하는 클라이언트 장치와 직접적으로 데이터를 송수신 하지 않는 장치일 수 있다. 즉, 리전 모니터링 노드(21, 22, 23)는 클라이언트 장치에 대하여 은닉된 장치일 수 있다.
다시 요약하여 설명하면, 블록체인 네트워크(10)는 트랜잭션의 블록체인 기재 요청을 일반 블록체인 노드(11a, 11b, 12a, 12b, 13a, 13b)를 통하여만 수신하고, 각각의 리전 모니터링 노드(21, 22, 23)는, 클라이언트 장치(14a, 14b, 14c)로부터 상기 비정상 트랜잭션과 관련된 요청을 수신한 제1 일반 블록체인 노드에 의하여 생성된 비정상 트랜잭션의 네트워크 패킷을 직접 수신하거나, 상기 비정상 트랜잭션의 네트워크 패킷을 하나 이상의 제2 일반 블록체인 노드를 통해 간접 수신할 수 있다. 이로써, 리전 모니터링 노드(21, 22, 23)에 대한 사이버 공격이 최대한 방지할 수 있을 것이다.
이하, 각각의 리전 모니터링 노드가 타임스탬프를 생성하는 몇몇 실시예들을 설명한다.
일 실시예에서, 각각의 리전 모니터링 노드는, 블록체인 프로토콜에 따라 트랜잭션 또는 블록체인이 다른 블록체인 노드로 전파되는 블록체인 동기화에 따라, 상기 각각의 리전 모니터링 노드가 상기 비정상 트랜잭션에 대한 네트워크 패킷을 수신한 때의 상기 로컬 시간 정보를, 상기 비정상 트랜잭션의 타임스탬프로서 생성할 수 있다. 상기 각각의 리전 모니터링 노드는 상기 비정상 트랜잭션에 대한 네트워크 패킷을 여러 번 수신할 수 있을 것이다. 상기 각각의 리전 모니터링 노드는 상기 비정상 트랜잭션에 대한 최초의 네트워크 패킷을 수신한 때의 상기 로컬 시간 정보를, 상기 비정상 트랜잭션의 타임스탬프로서 생성할 수 있다.
다른 실시예에서, 각각의 리전 모니터링 노드는, 블록체인 동기화에 따라, 상기 각각의 리전 모니터링 노드의 메모리 풀(memory pool)에 상기 비정상 트랜잭션이 저장된 때의 상기 로컬 시간 정보를, 상기 비정상 트랜잭션의 타임스탬프로서 생성할 수 있다.
블록체인 네트워크에 참여하는 각각의 블록체인 노드들은 블록체인 네트워크에서 발생하는 모든 트랜잭션(Transaction)들을 네트워크를 통해 공유할 수 있다. 서로 다른 트랜잭션들은 일정 주기로 하나의 블록(Block)에 포함되며, 생성된 블록은 이전 블록에 연결되어 블록체인 시스템을 구성할 수 있다. 블록체인 네트워크에서 트랜잭션이 생성된 후, 트랜잭션은 각 블록체인 노드 사이에서 전파될 수 있다. 각 블록체인 노드는 전파된 트랜잭션이 유효한지 검증할 수 있다. 검증된 트랜잭션은 블록체인 노드의 메모리 풀(Memory pool)에 보관된다. 메모리 풀에 저장된 트랜잭션은 다음 블록에 포함될 때까지 메모리 풀에 존재할 수 있다.
공개된 문헌 [Mohamed Rahouti, Kaiqi Xiong and Nasir Ghani,“Bitcoin Concepts, Threats, and Machine-Learning Security Solutions", IEEE Access 2018] 등에 알려진 바와 같이, 각 블록체인 노드들의 메모리 풀에 저장되어 있는 트랜잭션은 항상 같지 않다. p2p 네트워크 특성상 네트워크 상태 및 연결된 블록체인 노드에 따라 전송되는 트랜잭션의 수와 종류가 다르기 때문이다. 이러한 점을 고려하면, 비정상 트랜잭션 기재 요청을 최초로 수신한 블록체인 노드에 지리적으로 인접한 리전 모니터링 노드는, 상기 비정상 트랜잭션을 메모리 풀에 저장할 가능성이 높다. 따라서, 각각의 리전 모니터링 노드의 메모리 풀(memory pool)에 상기 비정상 트랜잭션이 저장된 때를 가리키는 타임스탬프를 기준으로 문제 리전을 선정함으로써, 문제 리전 선정의 정확도를 증대시킬 수 있는 효과를 얻을 수 있다.
상술한 바와 같이, 각 블록체인 노드들의 메모리 풀에 저장되어 있는 트랜잭션은 항상 같지 않고, 메모리 풀에 저장된 트랜잭션은 다음 블록에 포함될 때까지 메모리 풀에 존재하므로, 일부의 리전 모니터링 노드의 메모리 풀에는 상기 비정상 트랜잭션이 저장되지 않았을 가능성이 있다. 이런 경우, 비정상 트랜잭션 발생 위치 제공 서버(100)는 상기 메모리 풀에 상기 비정상 트랜잭션이 저장된 적이 있는 일부의 리전 모니터링 노드로부터, 상기 비정상 트랜잭션의 타임스탬프를 얻고, 상기 일부의 리전 모니터링 노드의 리전들 중에서 상기 문제 리전을 결정할 수 있다.
또한, 몇몇 실시예에서는, 상기 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프는, 상기 비정상 트랜잭션이 메모리 풀에 저장된 적이 있는 리전 모니터링 노드가 존재하는 경우, 상기 각각의 리전 모니터링 노드의 메모리 풀(memory pool)에 상기 비정상 트랜잭션이 저장된 때의 상기 로컬 시간 정보이고, 상기 비정상 트랜잭션이 메모리 풀에 저장된 적이 있는 리전 모니터링 노드가 존재하지 않는 경우, 상기 각각의 리전 모니터링 노드에 상기 비정상 트랜잭션이 포함된 블록이 추가된 때의 상기 로컬 시간 정보일 수도 있다. 즉, 비정상 트랜잭션이 저장된 적이 있는 리전 모니터링 노드가 전혀 없는 경우라면, 리전 모니터링 노드가 저장하는 블록체인의 블록에 상기 비정상 트랜잭션이 추가된 시간을 이용하여, 상기 문제 리전이 선정될 수 있다.
도 3을 참조하여 설명한다. 상술한 바와 같이, 블록체인(40)의 블록에 기재된 트랜잭션의 타임스탬프(32)와 리전 모니터링 노드의 타임스탬프는 서로 다른 값일 수 있다. 예를 들어, 비정상 트랜잭션(32)에 대하여 아시아 리전 모니터링 노드(23)의 타임스탬프, 유럽 리전 모니터링 노드(22)의 타임스탬프, 아메리카 리전 모니터링 노드(21)의 타임스탬프가 서로 다를 수 있다. 도 3에 도시된 상황에서, 비정상 트랜잭션(32)에 대하여 가장 빠른 타임스탬프를 보고한 리전 모니터링 노드는 유럽 리전 모니터링 노드(22)이므로, 비정상 트랜잭션 발생 위치 제공 서버(100)는 비정상 트랜잭션(32)의 기록 요청이 발생된 위치로 유럽 리전을 선정할 수 있다.
또한, 도 4에 도시된 바와 같이, 보안 요원 단말(200)에 표시되는 비정상 트랜잭션 요청의 발생 위치 관련 정보(50)에는, 유럽 리전 모니터링 노드의 타임스탬프가 비정상 트랜잭션 요청의 추정 시간으로서 표시될 수 있을 것이다.
몇몇 실시예들에서, 하나의 리전에 복수의 리전 모니터링 노드가 배치될 수 있다. 도 5에 도시된 바와 같이, 아시아 리전(13)에 3대의 리전 모니터링 노드(23-1, 23-2, 23-3)가 배치될 수 있는 것이다. 이 경우, 아시아 리전 모니터링 노드의 최종 타임스탬프는 3대의 리전 모니터링 노드(23-1, 23-2, 23-3)의 타임스탬프의 대표 값으로 결정될 수 있을 것이다. 상기 대표 값은 평균값, 중간값 또는 최소값일 수 있다. 하나의 리전에 복수의 리전 모니터링 노드가 배치되고, 상기 리전의 최종 타임스탬프를 상기 복수의 리전 모니터링 노드의 타임스탬프의 대표 값으로 결정함으로써, 상기 리전의 타임스탬프의 정확도를 높일 수 있을 것이다.
물론, 다른 몇몇 실시예들에서, 각각의 대륙 단위의 리전과 같은 넓은 지역의 리전 중 문제 리전을 결정할 때 타임스탬프의 대표 값이 이용되고, 상기 문제 리전 내부에서 비정상 트랜잭션의 위치를 상세히 파악할 때에는, 상기 문제 리전 내부의 리전 모니터링 노드들 중 가장 빠른 타임스탬프를 보고한 리전 모니터링 노드의 지리적 위치가 상기 비정상 트랜잭션의 위치인 것으로 판정될 수도 있을 것이다.
지금까지 도 1 내지 도 5를 참조하여 일 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 시스템의 구성 및 동작을 설명하였다. 이하, 도 6 내지 8을 참조하여 다른 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법을 설명한다.
본 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법은 컴퓨팅 장치에 의하여 수행될 수 있다. 상기 컴퓨팅 장치는, 예를 들어 도 1을 참조하여 설명한 비정상 트랜잭션 발생 위치 제공 서버(100)일 수 있다. 본 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법은 복수의 컴퓨팅 장치들에 의하여 나뉘어 수행될 수 있다. 이하, 본 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법을 설명함에 있어서, 각각의 동작의 주체에 대한 기재가 생략될 수 있으며, 이 경우 상기 동작의 주체는 컴퓨팅 장치인 것으로 이해될 수 있을 것이다.
또한, 도 1 내지 도 5를 참조하여 설명된 실시예를 통하여 이해될 수 있는 기술적 사상은, 특별한 언급이 없더라도 본 실시예에 따른 비정상 트랜잭션 요청의 발생 위치 제공 방법에 당연히 적용될 수 있다. 따라서, 도 1 내지 도 5를 참조하여 설명된 사항은 본 실시예를 통하여 중복 기재하지 않기로 한다.
먼저, 도 6을 참조하여 본 실시예를 설명한다.
단계 S101에서, 비정상 트랜잭션의 식별 정보를 보안 요원 단말 등의 외부 장치로부터 입력 받는다. 단계 S103에서 리전 모니터링 노드들에 상기 비정상 트랜잭션의 타임스탬프 제공 요청 신호를 송신하고, 그 응답으로서 단계 S105에서 타임스탬프들을 제공받는다. 한편, 도 7에 도시된 바와 같이 리전 모니터링 노드들로부터 트랜잭션 별 타임스탬프를 반복하여 제공 받고, 트랜잭션-리전 별 타임스탬프 데이터를 구성해 둔 후(S100), 트랜잭션-리전 별 타임스탬프 데이터에서, 지정된 비정상 트랜잭션의 리전 별 타임스탬프가 조회될 수도 있을 것이다(S104).
다음으로, 단계 S107에서, 가장 빠른 타임스탬프를 제공한 리전 모니터링 노드가 식별될 것이다. 이와 관련하여, 도 8을 참조하여 보다 자세히 설명한다.
상술한 바와 같이, 상기 타임스탬프는, 블록체인 동기화에 따라, 상기 각각의 리전 모니터링 노드의 메모리 풀(memory pool)에 상기 비정상 트랜잭션이 저장된 때의 상기 로컬 시간 정보일 수 있다. 단계 S1070에서, 메모리 풀에 상기 비정상 트랜잭션이 저장된 때를 가리키는 타임스탬프를 제공한 리전 모니터링 노드가 확인되고, 그러한 리전 모니터링 노드가 존재한다면(S1072), 타임 스탬프 제공한 리전 모니터링 노드 중 가장 빠른 타임스탬프를 제공한 리전 모니터링 노드가 식별될 것이다(S1078).
메모리 풀에 상기 비정상 트랜잭션이 저장된 때를 가리키는 타임스탬프를 제공한 리전 모니터링 노드가 하나도 없다면(S1072), 차선책으로서, 리전 모니터링 노드에 상기 비정상 트랜잭션이 기록된 블록이 추가된 때의 타임스탬프가 얻어진다(S1074). 그리고, 상기 타임스탬프를 제공한 리전 모니터링 노드 중 가장 빠른 타임스탬프를 제공한 리전 모니터링 노드가 식별될 것이다(S1076).
다시 도 6으로 돌아와서 설명한다. 단계 S109에서, 가장 빠른 타임스탬프를 제공한 리전 모니터링 노드의 리전에 대한 정보를 포함하는 비정상 트랜잭션 발생 위치 정보가 출력될 것이다. 상기 비정상 트랜잭션 발생 위치 정보는, 예를 들어 상기 리전에 대한 정보, 상리 리전의 리전 모니터링 노드로부터 얻어진 타임스탬프에 대한 정보 및 판단 정확도 중 적어도 하나를 포함할 수 있다. 상기 판단 정확도는, 도 8의 단계 S1076에 의하여 문제 리전이 선정된 경우 낮은 정확도로 평가되고, 도 8의 단계 S1078에 의하여 문제 리전이 선정된 경우 높은 정확도로 평가될 수 있을 것이다.
지금까지 도 1 내지 도 8을 참조하여 설명된 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이하, 몇몇 실시예들에 따른 예시적인 컴퓨팅 장치의 하드웨어 구성을 도 9를 참조하여 설명하기로 한다.
도 9는 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다. 본 실시예에 따른 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 네트워크 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)를 저장하는 스토리지(1300)를 포함할 수 있다. 도 9에는 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 명세서의 실시예들이 속한 기술분야의 통상의 기술자라면 도 9에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 명세서의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 둘 이상의 프로세서를 구비할 수 있다.
메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 명세서의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 프로그램(190)을 로드(load) 할 수 있다. 메모리(1400)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다. 시스템 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다.
상기 버스는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다. 네트워크 인터페이스(1200)는 복수의 리전 모니터링 노드를 연결할 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 스토리지(1300)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 명세서의 실시예들이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(1500)은 본 명세서의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 명세서의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
컴퓨터 프로그램(1500)은, 비정상 트랜잭션에 대한 각각의 리전 모니터링 노드의 타임스탬프를 얻되, 상기 리전 모니터링 노드는 일반 블록체인 노드와 함께 블록체인 네트워크를 구성하는 블록체인 노드이고, 서로 겹치지 않도록 구획된 각각의 지리적 영역을 가리키는 리전 마다 배치된 블록체인 노드인, 인스트럭션(instruction)과, 각각의 리전 모니터링 노드의 타임스탬프들을 비교하는 인스트럭션과, 상기 비교의 결과를 이용하여, 상기 블록체인 네트워크의 전체 리전들 중, 상기 비정상 트랜잭션과 관련된 리전인 문제 리전을 결정하는 인스트럭션과, 상기 문제 리전에 대한 정보 및 상기 문제 리전의 리전 모니터링 노드에서 생성된 상기 비정상 트랜잭션의 최초 타임스탬프에 대한 정보를 출력하는 인스트럭션을 포함할 수 있다.
일 실시예에서, 컴퓨터 프로그램(1500)은, 상기 복수의 리전 모니터링 노드가 시간 동기화 프로세스를 수행하도록 제어하는 인스트럭션을 더 포함할 수 있다.
이상 첨부된 도면을 참조하여 본 명세서의 실시예들을 설명하였지만, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서의 실시예들이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. 컴퓨팅 시스템에 의하여 수행되는 방법에 있어서,
    복수의 리전 각각에 배치된 리전 모니터링 노드 각각으로부터 트랜잭션의 타임스탬프를 수신하되, 상기 타임스탬프는 상기 트랜잭션에 대한 패킷과 관련하여 상기 리전 모니터링 노드 각각이 생성한 시간 정보인, 단계;
    상기 수신된 각 트랜잭션의 타임스탬프를 이용하여, 각각의 트랜잭션에 대한 각 리전 모니터링 노드 별 타임스탬프 데이터를 저장하는 단계;
    비정상 트랜잭션에 대한 식별 정보를 수신하는 단계;
    상기 저장된 리전 모니터링 노드 별 타임스탬프 데이터에서, 상기 비정상 트랜잭션의 각 리전 모니터링 노드 별 타임스탬프 값을 비교하는 단계; 및
    상기 비교의 결과를 이용하여, 가장 이른 타임스탬프를 제공한 리전 모니터링 노드의 리전을 상기 식별된 비정상 트랜잭션과 관련된 리전인 문제 리전으로 결정하는 단계를 포함하는,
    블록체인의 트랜잭션 모니터링 방법.
  2. 제1 항에 있어서,
    상기 복수의 리전 중 적어도 어느 하나는 복수의 리전 모니터링 노드를 포함하고,
    상기 타임스탬프를 수신하는 단계는,
    상기 복수의 리전 중 제1 리전에 포함된 복수의 리전 모니터링 노드 각각으로부터 트랜잭션의 타임스탬프를 수신하는 단계; 및
    상기 복수의 리전 모니터링 노드 각각으로부터 수신된 타임스탬프들의 대표 값을, 상기 제1 리전의 타임스탬프로서 결정하는 단계를 포함하는,
    블록체인 트랜잭션 모니터링 방법.
  3. 제2 항에 있어서,
    비정상 트랜잭션에 대한 식별 정보를 수신하는 단계;
    상기 저장된 리전 모니터링 노드 별 타임스탬프 데이터에서, 상기 비정상 트랜잭션의 각 리전 모니터링 노드 별 타임스탬프 값을 비교하는 단계;
    상기 비교의 결과를 이용하여, 가장 이른 타임스탬프를 제공한 리전 모니터링 노드의 리전을 상기 식별된 비정상 트랜잭션과 관련된 리전인 문제 리전으로 결정하는 단계; 및
    상기 문제 리전이 상기 제1 리전인 경우, 제1 리전에 포함된 복수의 리전 모니터링 노드 중 가장 이른 타임스탬프를 송신한 리전 모니터링 노드의 지리적 위치 정보를 출력하는 단계를 더 포함하는,
    블록체인 트랜잭션 모니터링 방법.
  4. 제2 항에 있어서,
    상기 제1 리전의 상기 대표 값은 상기 복수의 리전 모니터링 노드 각각으로부터 수신된 타임스탬프들의 최소값, 평균값 또는 중간값 중 어느 하나인,
    블록체인 트랜잭션 모니터링 방법.
  5. 제1 항에 있어서,
    상기 리전 모니터링 노드는, 로컬 시간을 동기화 시키기 위한 시간 동기화 프로세스를 주기적으로 수행하는 블록체인 노드인,
    블록체인 트랜잭션 모니터링 방법.
  6. 제5 항에 있어서,
    상기 시간 동기화 프로세스는,
    상기 리전 모니터링 노드에 동기화 되는 로컬 시간 정보에 기반하여 타임스탬프를 생성하는 것과, 동기화된 상기 리전 모니터링 노드의 상기 각각의 트랜잭션에 대한 각 리전 모니터링 노드 별 타임스탬프 데이터를 저장하는 것을 을 포함하는 프로세스인,
    블록체인 트랜잭션 모니터링 방법.
  7. 네트워크 인터페이스;
    스토리지;
    프로세서; 및
    명령어를 저장하는 메모리를 포함하고,
    상기 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    복수의 리전 각각에 배치된 리전 모니터링 노드 각각으로부터 상기 네트워크 인터페이스를 통해 트랜잭션의 타임스탬프를 수신하되, 상기 타임스탬프는 상기 트랜잭션에 대한 패킷과 관련하여 상기 리전 모니터링 노드 각각이 생성한 시간 정보인, 동작;
    상기 수신된 각 트랜잭션의 타임스탬프를 이용하여, 각각의 트랜잭션에 대한 각 리전 모니터링 노드 별 타임스탬프 데이터를 상기 스토리지에 저장하는 동작;
    비정상 트랜잭션에 대한 식별 정보를 수신하는 동작;
    상기 저장된 리전 모니터링 노드 별 타임스탬프 데이터에서, 상기 비정상 트랜잭션의 각 리전 모니터링 노드 별 타임스탬프 값을 비교하는 동작; 및
    상기 비교의 결과를 이용하여, 가장 이른 타임스탬프를 제공한 리전 모니터링 노드의 리전을 상기 식별된 비정상 트랜잭션과 관련된 리전인 문제 리전으로 결정하는 동작을 수행하도록 하는,
    블록체인의 트랜잭션 모니터링 장치.
KR1020230012719A 2020-08-12 2023-01-31 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치 KR102594203B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230012719A KR102594203B1 (ko) 2020-08-12 2023-01-31 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200101044A KR102495724B1 (ko) 2020-08-12 2020-08-12 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치
KR1020230012719A KR102594203B1 (ko) 2020-08-12 2023-01-31 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200101044A Division KR102495724B1 (ko) 2020-08-12 2020-08-12 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20230023683A KR20230023683A (ko) 2023-02-17
KR102594203B1 true KR102594203B1 (ko) 2023-10-26

Family

ID=80475085

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200101044A KR102495724B1 (ko) 2020-08-12 2020-08-12 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치
KR1020230012719A KR102594203B1 (ko) 2020-08-12 2023-01-31 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200101044A KR102495724B1 (ko) 2020-08-12 2020-08-12 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치

Country Status (1)

Country Link
KR (2) KR102495724B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292331B (zh) * 2022-10-09 2023-03-24 淄博青禾检测科技有限公司 一种异常地理区域的获取方法、设备及介质
CN117914868A (zh) * 2022-10-11 2024-04-19 抖音视界有限公司 一种数据处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531938A (ja) 2012-08-27 2015-11-05 ソン、ユー−シェン トランザクション・モニタリング・システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10225289B1 (en) * 2017-09-01 2019-03-05 Arthur Oliver Tucker, IV Anonymization overlay network for de-identification of event proximity data
KR20190046486A (ko) 2017-10-26 2019-05-07 주식회사 케이티 블록체인 기반의 가상화폐 처리 시스템 및 방법
KR102163274B1 (ko) * 2018-06-22 2020-10-08 블록체인보안협동조합 블록체인을 활용한 개인정보 보호 시스템
KR20200004528A (ko) * 2018-07-04 2020-01-14 이동기 거래 추적 기능을 갖는 블록체인 시스템의 모니터링 시스템, 및 모니터링 방법
KR20200053013A (ko) * 2018-11-07 2020-05-18 볼로드미르 빌로쉬츠스키 하이브리드 작업증명/지분증명 분산 합의 알고리즘의 구현 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531938A (ja) 2012-08-27 2015-11-05 ソン、ユー−シェン トランザクション・モニタリング・システム

Also Published As

Publication number Publication date
KR20230023683A (ko) 2023-02-17
KR102495724B1 (ko) 2023-02-02
KR20220020572A (ko) 2022-02-21

Similar Documents

Publication Publication Date Title
KR102594203B1 (ko) 비정상 트랜잭션 요청의 발생 위치 제공 방법 및 그 장치
EP2987090B1 (en) Distributed event correlation system
JP6882474B2 (ja) リプレイ攻撃の検出のためのシステム及び方法
CN109478216B (zh) 知识推断和统计相关系统的并行化和n层级化
US7076801B2 (en) Intrusion tolerant server system
US9817970B2 (en) Method for detecting attacks on virtual machines
CN106911648B (zh) 一种环境隔离方法及设备
KR102134547B1 (ko) 리스크 식별 방법, 리스크 식별 장치, 및 클라우드 리스크 식별 장치와 시스템
CN111061685B (zh) 日志查询方法、装置、节点设备及存储介质
CN110289999B (zh) 一种数据处理方法、系统及装置
CN105677675B (zh) 业务处理方法及装置
CN110222085B (zh) 一种存证数据的处理方法、装置及存储介质
CN113259130B (zh) 一种交易数据处理方法、装置、设备以及介质
CN110597918A (zh) 一种账户管理方法、装置及计算机可读存储介质
CN112187533B (zh) 一种虚拟网络设备防御方法、装置、电子设备和介质
CN111885050A (zh) 基于区块链网络的数据存储方法、装置、相关设备及介质
CN110619022B (zh) 基于区块链网络的节点检测方法、装置、设备及存储介质
CN111818081B (zh) 虚拟加密机管理方法、装置、计算机设备和存储介质
KR102229438B1 (ko) 클라우드 컴퓨팅 및 블록체인 기반의 스마트 홈 시스템
JP2017005482A (ja) 評価システム
Sinha et al. Security detection module of IPv6 network
CN115004651A (zh) 基于相关性的网络安全
KR102248991B1 (ko) 블록체인 네트워크의 이웃 노드 연결 제어 장치, 방법 및 프로그램
JP2018156561A (ja) ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置
CN107506667B (zh) 一种多任务物理隔离终端以及方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant