KR102536777B1 - 계층화된 블록체인을 이용한 도메인 네임 제공 시스템 - Google Patents
계층화된 블록체인을 이용한 도메인 네임 제공 시스템 Download PDFInfo
- Publication number
- KR102536777B1 KR102536777B1 KR1020190067567A KR20190067567A KR102536777B1 KR 102536777 B1 KR102536777 B1 KR 102536777B1 KR 1020190067567 A KR1020190067567 A KR 1020190067567A KR 20190067567 A KR20190067567 A KR 20190067567A KR 102536777 B1 KR102536777 B1 KR 102536777B1
- Authority
- KR
- South Korea
- Prior art keywords
- root
- node
- domain name
- blockchain
- nodes
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
- H04L61/3025—Domain name generation or assignment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 실시예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템은 P2P(peer-to-peer) 네트워크를 통해 복수의 노드들이 계층화된 복수의 블록체인 네트워크를 형성하고, 사용자 단말기(10)에 의해 요청된 도메인 네임에 대응하는 IP(internet protocol) 주소를 제공하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템으로써, 상기 사용자 단말기(10)로부터 전송되는 도메인 네임의 최상위 도메인을 관리하고 복수의 루트 노드(110)로 구성되는 루트 블록체인(100); 및 상기 루트 블록체인(100)의 하위 블록체인으로써, 최상위 도메인의 하위 도메인을 관리하고 복수의 최상위 노드(210)로 구성되는 최상위 블록체인(200);을 포함할 수 있다.
Description
본 발명은 계층화된 블록체인을 이용한 도메인 네임 제공 시스템에 관한 것이다.
도메인 네임 시스템(DNS: domain name system)은 복잡한 아이피 주소(IP address)를 단순하게 변환하여 사용할 수 있는 시스템이다.
사용자가 컴퓨터 등을 통해 자신이 접속하고자 하는 인터넷 사이트의 도메인 네임을 입력하면, 네트워크에 연결된 컴퓨터는 도메인 서버에 접속하여 도메인 네임에 대응하는 아이피 주소를 부여 받고, 이를 사용하여 사용자가 접속을 원하는 도메인 네임을 갖는 인터넷 사이트에 접속한다.
이와 같이, 인터넷 접속을 위해서는 도메인 네임에 해당하는 아이피 주소를 확보하고 있는 도메인 서버에 접속하여 인터넷에 접속하는 것이 필수적이다.
따라서, 종래의 도메인 네임 시스템은 중앙 서버 중심으로 운영되기 때문에, 서버의 관리 비용이 매우 큰 폭으로 증가할 수 밖에 없는 문제가 발생한다.
또한, 도메인 네임이 중앙 집중화된 서버에 의해 관리되고 있기 때문에, 해커들의 공격에 의해 서버에 저장된 정보들이 파괴될 수 있는 우려가 상존하게 된다.
또한, 최근 들어 사물 인터넷(internet of things)에 대한 서비스가 증가하고 있다. 이와 같이, 사물 인터넷 보급의 확대로 인해, 각각의 사물에 할당해야 하는 인터넷 자원이 한계에 도달하게 되는 문제가 발생하고 있다.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로서, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위한 것으로, 중앙 집중화되어 관리되는 도메인 네임 시스템의 운영에 소요되는 비용을 최소화하고, 해커 들의 공격에 강건한 계층화된 블록체인을 이용한 도메인 네임 제공 시스템을 제공하는 것을 목적으로 한다.
또한, 사물 인터넷 서비스의 보급으로 인해, 한계에 도달한 도메인 네임 자원의 문제를 해결할 수 있는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템을 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템은 P2P(peer-to-peer) 네트워크를 통해 복수의 노드들이 계층화된 복수의 블록체인 네트워크를 형성하고, 사용자 단말기(10)에 의해 요청된 도메인 네임에 대응하는 IP(internet protocol) 주소를 제공하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템으로써, 상기 사용자 단말기(10)로부터 전송되는 도메인 네임의 최상위 도메인을 관리하고 복수의 루트 노드(110)로 구성되는 루트 블록체인(100); 및 상기 루트 블록체인(100)의 하위 블록체인으로써, 최상위 도메인의 하위 도메인을 관리하고 복수의 최상위 노드(210)로 구성되는 최상위 블록체인(200);을 포함할 수 있다.
상기 사용자 단말기(10)에는 설정된 개수의 루트 노드(110)들의 아이피 주소와 해당 루트 노드(110)들의 일관성 지수가 저장되는 사용자 노드 리스트 파일이 저장될 수 있다.
상기 루트 블록체인(100)에는 설정된 개수의 최상위 노드(210)들의 아이피 주소와 해당 최상위 노드(210)들의 일관성 지수가 저장되는 최상위 노드 리스트 파일이 저장될 수 있다.
상기 사용자 단말기(10)는 상기 사용자 노드 리스트 파일에 저장된 어느 하나의 루트 노드(110)에게 도메인 네임의 아이피 주소를 질의할 수 있다.
상기 루트 블록체인(100)을 구성하는 어느 하나의 루트 노드(110)는 상기 사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 상기 루트 노드 리스트 파일 내의 어느 하나의 최상위 노드(210)에게 질의할 수 있다.
상기 어느 하나의 최상위 노드(210)가 상기 사용자 단말기(10)부터 상기 루트 노드(110)를 통해 질의받은 도메인 네임의 아이피 주소를 갖고 있지 않은 경우, 상기 루트 노드(110)는 상기 사용자 단말기(10)에게 정보 부재 응답을 전송하고, 상기 루트 노드(110)는 상기 루트 노드 리스트 파일 내의 후순위의 최상위 노드(210)에게 사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 질의할 수 있다.
상기 루트 노드(110)는 상기 루트 블록체인(100)을 구성하는 다른 루트 노드(110)와 최상위 노드(210)들의 일관성 지수에 대한 정보를 서로 공유할 수 있다.
상기 루트 노드(110)는 상기 일관성 지수가 임계값보다 작은 최상위 노드(210)에 대해서는 상기 루트 노드(110) 리스트에서 삭제하고, 상기 일관성 지수가 상기 임계값보다 큰 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에 추가할 수 있다.
본 발명의 다른 실시 예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템은 P2P(peer-to-peer) 네트워크를 통해 복수의 노드들이 계층화된 복수의 블록체인 네트워크를 형성하고, 사용자 단말기(10)에 의해 요청된 도메인 네임에 대응하는 IP(internet protocol) 주소를 제공하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템으로써, 사용자 노드 리스트 파일 내의 어느 하나의 루트 노드(110)에게 입력된 도메인 네임의 아이피 주소를 질의하는 사용자 단말기(10);를 포함할 수 있다.
상기 사용자 노드 리스트 파일에는 설정된 개수의 루트 노드(110)들의 아이피 주소와 해당 루트 노드(110)들의 일관성 지수가 저장될 수 있다.
본 발명의 또 다른 실시 예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템은 P2P(peer-to-peer) 네트워크를 통해 복수의 노드들이 계층화된 복수의 블록체인 네트워크를 형성하고, 사용자 단말기(10)에 의해 요청된 도메인 네임에 대응하는 IP(internet protocol) 주소를 제공하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템으로써, 상기 사용자 단말기(10)로부터 요청된 도메인 네임에 대응하는 아이피 주소를 제공하거나, 또는 루트 노드 리스트 파일 내의 어느 하나의 최상위 노드(210)에게 상기 사용자 단말기(10)로부터 요청받은 도메인 네임의 아이피 주소를 질의하는 루트 노드(110);를 포함할 수 있다.
상기 루트 노드 리스트 파일에는 설정된 개수의 최상위 노드(210)들의 아이피 주소와 해당 최상위 노드(210)들의 일관성 지수가 저장될 수 있다.
상기 루트 노드(110)는 복수의 다른 루트 노드(110)와 루트 블록체인(100)을 구성하고, 상기 루트 블록체인(100)을 구성하는 각각의 루트 노드(110)들은 최상위 블록체인(200)을 구성하는 최상위 노드(210)들의 일관성 지수에 대한 정보를 서로 공유할 수 있다.
상기 루트 노드(110)는 일관성 지수가 임계값보다 작은 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에서 삭제하고, 일관성 지수가 임계값보다 큰 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에 추가할 수 있다.
상기한 바와 같은 본 발명의 실시예에 의한 계층화된 블록체인을 이용한 도메인 네임 제공 시스템에 의하면, 블록 체인을 통해 도메인 네임에 대한 아이피 주소를 제공함으로써, 해커들의 공격에 강건한 분산화된 도메인 네임 서비스를 제공할 수 있다.
또한, 계층화된 블록 체인을 통해 도메인 네임에 대한 아이피 주소를 제공함으로써, 대규모의 인터넷 네임 서비스를 제공할 수 있다.
이 도면들은 본 발명의 예시적인 실시예를 설명하는데 참조하기 위함이므로, 본 발명의 기술적 사상을 첨부한 도면에 한정해서 해석하여서는 아니된다.
도 1은 본 발명의 실시예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템의 구성을 도시한 개념도이다.
도 2는 본 발명의 실시 예에 따른 계층화된 블록체인을 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 사용자 노드 리스트 파일을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 루트 노드 리스트 파일을 도시한 도면이다.
도 5는 본 발명의 실시 예에 따른 최상위 노드 리스트 파일을 도시한 도면이다.
도 1은 본 발명의 실시예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템의 구성을 도시한 개념도이다.
도 2는 본 발명의 실시 예에 따른 계층화된 블록체인을 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 사용자 노드 리스트 파일을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 루트 노드 리스트 파일을 도시한 도면이다.
도 5는 본 발명의 실시 예에 따른 최상위 노드 리스트 파일을 도시한 도면이다.
첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다.
또한, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도면에 도시된 바에 한정되지 않으며, 여러 부분 및 영역을 명확하게 표현하기 위하여 두께를 확대하여 나타내었다.
추가적으로, 몇몇 방법들은 적어도 하나의 제어기에 의하여 실행될 수 있다.
제어기라는 용어는 메모리와, 알고리즘 구조로 해석되는 하나 이상의 단계들을 실행하도록 된 프로세서를 포함하는 하드웨어 장치를 언급한다.
상기 메모리는 알고리즘 단계들을 저장하도록 되어 있고, 프로세서는 아래에서 기재하는 하나 이상의 프로세스들을 수행하기 위하여 상기 알고리즘 단계들을 특별히 실행하도록 되어 있다.
더 나아가, 본 발명의 제어 로직은 프로세서, 제어기 또는 이와 유사한 것에 의하여 실행되는 실행 가능한 프로그램 명령들을 포함하는 컴퓨터가 읽을 수 있는 수단 상의 일시적이지 않고 컴퓨터가 읽을 수 있는 매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 수단의 예들은, 이에 한정되지는 않지만, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 플래쉬 드라이브, 스마트 카드 및 광학 데이터 저장 장치를 포함한다.
컴퓨터가 읽을 수 있는 재생 매체는 네트웍으로 연결된 컴퓨터 시스템에 분산되어 예를 들어 텔레매틱스 서버나 CAN(Controller Area Network)에 의하여 분산 방식으로 저장되고 실행될 수 있다.
이하에서는 본 발명의 실시예에 의한 계층화된 블록체인을 이용한 도메인 네임 제공 시스템에 대하여 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템의 개념도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 의한 계층화된 블록체인을 이용한 도메인 네임 제공 시스템은 복수의 노드들이 계층화된 블록체인 네트워크를 형성하고, 사용자 단말기(10)는 계층화된 블록체인으로부터 도메인 네임에 대응하는 아이피 주소를 할당 받아 도메인 네임에 대응하는 인터넷 사이트에 접속할 수 있다. 본 발명의 명세서에서 블록체인을 구성하는 각각의 노드(node)들 인터넷에 접속할 수 있는 컴퓨터, 및/또는 스마트폰과 같은 개인 휴대 단말기 등을 의미한다.
사용자 단말기(10)는 인터넷 서비스 사업자(ISP: internet service provider)를 통해 루트 블록체인(100)을 구성하는 어느 하나의 루트 노드(110)로 접속하기 위해, 루트 블록체인(100)을 구성하는 루트 노드(110)들의 아이피 주소 정보가 저장된 사용자 노드 리스트 파일(도 3 참조)을 구비한다. 사용자 노드 리스트 파일에는 루트 블록체인(100)을 구성하는 모드 루트 노드(110)의 아이피 주소가 저장될 필요는 없고, 설정된 개수의 루트 노드(110)들의 아이피 주소만이 저장된다. 루트 블록체인(100)을 구성하는 노드들은 항상 일정한 수의 노드들로 구성되지 않고, 시간의 흐름에 따라 갱신될 수 있기 때문에, 모든 루트 노드(110)의 정보를 사용자 노드 리스트에 저장될 수 없다. 따라서, 설정된 개수의 루트 노드(110)의 아이피 주소만이 사용자 노드 리스트에 저장되는 것이다.
본 발명의 실시 예에 따른 계층화된 블록체인은 최상위 도메인 네임을 관리하는 루트 블록체인(100), 루트 블록체인(100)의 하위 블록체인으로써 최상위 도메인 네임(top level domain)의 하위 도메인(이하, '확장자 도메인'이라 칭한다)을 관리하는 최상위 블록체인(200), 및 최상위 블록체인(200)의 하위 블록체인으로써 확장자 도메인 네임을 관리하는 적어도 하나의 확장자 블록체인(300)으로 구성될 수 있다. 본 발명의 실시 예에서는 확장자 블록체인(300)이 하나인 경우를 예로 들어 설명하지만, 확장자 블록체인(300)은 복수 개로 구성될 수도 있다. 상기 각각의 블록체인은 P2P(peer-to-peer) 네트워크를 통해 복수의 노드들로 구성될 수 있다. 또한, 본 발명의 실시 예에서는 확장자 도메인이 있는 경우를 예로 들어 설명하지만, 도메인 네임이 종류에 따라서는 확장자 도메인이 존재하지 않을 수도 있다.
루트 블록체인(100)을 구성하는 복수의 루트 노드(110)는 최상위 도메인 네임의 아이피 주소(internet protocol address)가 저장되는 루트 노드 리스트 파일(도 4 참조)을 구비한다. 루트 노드 리스트 파일에는 최상위 블록체인(200)을 구성하는 모든 최상위 노드(210)들의 아이피 주소가 저장될 필요는 없고, 설정된 개수의 최상위 노드(210)들의 아이피 주소만이 저장된다. 최상위 블록체인(200)을 구성하는 노드들은 항상 일정한 수의 노드들로 구성되지 않고, 시간의 흐름에 따라 갱신될 수 있기 때문에, 모든 최상위 노드(210)의 정보를 사용자 노드 리스트에 저장될 수 없다. 따라서, 설정된 개수의 최상위 노드(210)의 아이피 주소만이 루트 노드(110) 리스트에 저장되는 것이다.
최상위 블록체인(200)을 구성하는 복수의 최상위 노드(210)는 확장자 도메인 네임의 아이피 주소가 저장되는 최상위 노드 리스트 파일(도 4 참조)을 구비한다. 최상위 노드 리스트 파일에는 모든 확장자 노드(310)들의 아이피 주소가 저장될 필요는 없고, 설정된 개수의 확장자 노드(310)들의 아이피 주소만이 저장된다. 확장자 블록체인(300)을 구성하는 노드들은 항상 일정한 수의 노드들로 구성되지 않고, 시간의 흐름에 따라 갱신될 수 있기 때문에, 모든 확장자 노드(310)의 정보를 최상위 노드(210) 리스트에 저장될 수 없다. 따라서, 설정된 개수의 확장자 노드(310)의 아이피 주소만이 최상위 노드(210) 리스트에 저장되는 것이다.
본 발명의 실시 예에서는 확장자 블록체인(300)이 하나인 경우를 예로 들어 설명하나, 본 발명의 권리 범위가 이에 한정되는 것은 아니다. 확장자 블록체인(300)은 도메인 네임의 구성에 따라 두 개 이상으로 구성될 수도 있다.
한편, 각각의 노드 리스트 파일에는 하위 블록체인을 구성하는 각각의 노드들의 아이피 주소뿐만이 아니라, 각각의 노드들이 저장하고 있는 아이피 주소의 신뢰성을 판단할 수 있는 일관성 지수가 저장될 수 있다. 상하위 블록체인의 노드들간의 질의 응답과정을 통해 일관성 지수는 상승하거나 하락할 수 있다.
즉, 사용자가 접속을 원하는 인터넷 사이트의 도메인 네임을 웹브라우저 등을 통해 사용자 단말기(10)로 입력하면, 사용자 단말기(10)는 계층화된 블록체인의 어느 하나의 노드에 접속하여 해당 도메인 네임에 대응하는 아이피 주소를 제공받을 수 있다.
이하에서는, 상기한 바와 같은 본 발명의 실시 예에 따른 계층화된 블록체인을 이용한 도메인 네임 제공 시스템의 동작에 대하여 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 실시 예에 따른 계층화된 블록체인을 도시한 도면이다.
도 2를 참조하면, 본 발명의 실시 예에서 사용하는 도메인 네임은 "은갈치.서귀포.제주"일 수 있다. 위 도메인 네임에서 "제주"가 최상위 도메인(TLD: top lever domain) 네임이고, "서귀포"와 "은갈치"는 각각 최상위 도메인의 하위 도메인 네임들이다. 그리고 "홍길동.인사부.대박물산" 도메인 네임의 경우, "대박물산"이 최상위 도메인 네임(TLD: top lever domain)이고, "인사부"와 "홍길동"은 각각 최상위 도메인의 하위 도메인 네임들이다.
사용자가 사용자 단말기(10)를 통해 "은갈치.서귀포.제주"의 도메인 네임을 입력한 경우를 예로 들어 설명한다.
사용자 단말기(10)는 루트 블록체인(100)을 구성하는 복수의 루트 노드(110)에 관한 아이피 주소가 저장된 사용자 노드 리스트를 구비하고 있기 때문에, 사용자 단말기(10)는 사용자 노드 리스트에 저장된 루트 노드(110) 중 어느 하나의 루트 노드(110)에 임의로 접속하여 사용자가 입력한 도메인 네임의 아이피 주소(여기서, "제주"의 아이피 주소)를 질의하게 된다.
사용자 단말기(10)로부터 질의를 받은 루트 블록체인(100)을 구성하는 어느 하나의 루트 노드(110)는 최상위 도메인 네임을 관리하는 최상위 블록체인(200)의 어느 하나의 최상위 노드(210)에게 사용자 단말기(10)로부터 질의를 받은 최상위 도메인 네임(여기서, "서귀포.제주"의 아이피 주소)의 아이피 주소를 질의한다. 즉, 이와 같은 과정은 루트 블록체인(100)의 루트 노드(110)는 최상위 블록체인(200)의 최상위 노드(210)로 사용자 단말기(10)의 질의를 중계하는 것으로 이해될 수 있다. 또는, 사용자 단말기(10)로부터 질의받은 도메인 네임이 최상위 도메인으로만 구성되는 경우, 루트 노드(110)는 사용자 단말기(10)로부터 질의받는 도메인 네임의 아이피 주소를 직접 사용자 단말기(10)에게 제공할 수도 있다.
만약, 루트 노드(110)로부터 질의를 받은 최상위 노드(210)(예들 들어, '제1 최상위 노드(210)')가 사용자 단말기(10)를 통해 루트 노드(110)가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않은 경우, 제1 최상위 노드(210)는 루트 단말기가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않다는 정보 부재 응답을 루트 노드(110)에게 전송한다.
루트 노드(110)는 후순위의 최상위 노드(210)(예를 들어, '제2 최상위 노드(210)")에게 사용자가 입력한 도메인 네임의 아이피 주소(여기서, "서귀포.제주"의 아이피 주소)를 질의하게 된다. 만약, 제2 최상위 노드(210)도 사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않은 경우, 제2 최상위 노드(210)는 루트가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않다는 정보 부재 응답을 루트 노드(110)에게 전송한다.
이와 같이, 루트 노드(110)는 루트 노드 리스트 파일 내의 모든 최상위 노드(210)에게 도메인 네임을 질의하게 되고, 루트 노드(110)가 갖고 있는 루트 노드 리스트 파일 내의 모든 최상위 노드(210)가 사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않은 경우에는, 루트 노드(110)는 사용자 단말기(10)에게 도메인 네임의 아이피 주소를 갖고 있지 않다는 정보 부재 응답을 사용자 단말기(10)에게 전송한다.
정보 부재 응답을 받은 사용자 단말기(10)는 사용자 노드 리스트 파일 내의 후순위 루트 노드(110)에게 도메인 네임의 아이피 주소를 질의하게 된다.
사용자 단말기(10)로부터 질의를 받은 최상위 블록체인(200)을 구성하는 어느 하나의 최상위 노드(210)는 자신이 갖고 있는 최상위 노드 리스트 파일에 사용자 단말기(10)가 질의한 확장자 도메인 네임을 관리하는 확장자 블록체인(300)을 구성하는 어느 하나의 확장자 노드(310)의 아이피 주소(여기서, "은갈치.서귀포.제주"의 아이피 주소)를 사용자 단말기(10)에게 전송한다. 즉, 최상위 블록체인(200)의 최상위 노드(210)는 확장자 블록체인(300)의 확장자 노드(310)로 사용자 단말기(10)의 질의를 중계하는 것으로 이해될 수 있다.
만약, 최상위 노드(210)로부터 질의를 받은 확장자 노드(310)(예들 들어, '제1 확장자 노드(310)')가 최상위 노드(210)가 질의한 확장자 도메인 네임의 아이피 주소를 갖고 있지 않은 경우, 제1 확장자 노드(310)는 최상위 노드(210)가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않다는 정보 부재 응답을 최상위 노드(210)에게 전송한다.
최상위 노드(210)는 후순위 확장자 노드(310)(예를 들어, '제2 확장자 노드(310)")에게 사용자가 입력한 도메인 네임의 아이피 주소(여기서, "은갈치.서귀포.제주"의 아이피 주소)를 질의하게 된다. 만약, 제2 확장자 노드(310)도 사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않은 경우, 제2 확장자 노드(310)는 최상위 노드(210)가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않다는 정보 부재 응답을 최상위 노드(210)에게 전송한다.
이와 같이, 최상위 노드(210)는 최상위 노드 리스트 파일 내의 모든 확장자 노드(310)에게 도메인 네임을 질의하게 되고, 최상위 노드(210)가 갖고 있는 최상위 노드 리스트 파일 내의 모든 확장자 노드(310)가 사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 갖고 있지 않은 경우에는, 최상위 노드(210)는 루트 노드(110)에게 도메인 네임의 아이피 주소를 갖고 있지 않다는 정보 부재 응답을 루트 노드(110)에게 전송한다.
정보 부재 응답을 받은 루트 노드(110)는 루트 노드 리스트 파일 내의 후순위의 최상위 노드(210)에게 도메인 네임의 아이피 주소를 질의하게 된다.
한편, 사용자 단말기(10)는 루트 블록체인(100) 내의 루트 노드(110)에 대한 일관성 지수를 지속적으로 관리한다. 사용자 단말기(10)의 동일한 도메인 네임에 대한 질의에 대해 루트 블록체인(100) 내의 루트 노드(110)가 동일한 아이피 주소를 응답하는 경우, 일관성 지수는 제1 설정값(예를 들어, '10')이 증가한다. 그러나 사용자 단말기(10)의 동일한 도메인 네임에 대한 질의에 대해 루트 블록체인(100) 내의 루트 노드(110)가 이전과 다른 아이피 주소를 응답하는 경우, 일관성 지수는 제1 설정값보다 큰 제2 설정값(예를 들어, '20')이 감소한다. 그리고 사용자 단말기(10)는 정보 부재 응답을 전송한 루트 노드(110)에 대해서는 일관성 지수를 제2 설정값보다 큰 제3 설정값(예를 들어, '30') 감소시킬 수 있다.
유사한 방식으로, 루트 블록체인(100) 내의 루트 노드(110)는 최상위 블록체인(200) 내의 최상위 노드(210)에 대한 일관성 지수를 지속적으로 관리한다. 루트 노드(110)의 동일한 도메인 네임에 대한 질의에 대해 최상위 블록체인(200) 내의 최상위 노드(210)가 동일한 아이피 주소를 응답하는 경우, 일관성 지수는 제1 설정값(예를 들어, '10')이 증가한다. 그러나 루트 노드(110)의 동일한 도메인 네임에 대한 질의에 대해 최상위 블록체인(200) 내의 최상위 노드(210)가 이전과 다른 아이피 주소를 응답하는 경우, 일관성 지수는 제1 설정값보다 큰 제2 설정값(예를 들어, '20')이 감소한다. 그리고 루트 노드(110)는 정보 부재 응답을 전송한 최상위 노드(210)에 대해서는 일관성 지수를 제2 설정값보다 큰 제3 설정값(예를 들어, '30') 감소시킬 수 있다.
루트 블록체인(100)을 구성하는 각각의 루트 노드(110)들은 최상위 블록체인(200)을 구성하는 최상위 노드(210)들의 일관성 지수에 대한 정보를 서로 공유한다. 따라서, 일관성 지수가 임계값보다 작은 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에서 삭제하고, 일관성 지수가 임계값보다 큰 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에 추가하도록 한다.
예를 들어, 최초에 루트 노드(110)가 갖고 있는 루트 노드 리스트 파일에 저장된 어느 최상위 노드(210)의 일관성 지수가 100이라고 가정한다. 최상위 노드(210)의 일관성 지수가 100보다 작아지는 경우, 루트 노드(110)는 자신의 루트 노드 리스트 파일에서 해당 최상위 노드(210)를 삭제한다. 그리고 루트 블록체인(100) 내의 다른 루트 노드(110)로부터 일관성 지수가 100 이상인 최상위 노드(210)를 자신의 루트 노드 리스트 파일에 추가할 수 있다.
최상위 블록체인(200)을 구성하는 최상위 노드(210)들이 확장자 블록체인(300)을 구성하는 확장자 노드(310)들의 일관성 지수를 관리하는 방법은 앞에서 설명한 루트 블록체인(100)의 루트 노드(110)가 최상위 블록체인(200)의 최상위 노드(210)의 일관성 지수를 관리하는 방법과 동일하므로, 구체적인 설명은 생략하도록 한다.
여기에 설명되는 다양한 실시 예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시 예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다.
한편 본 발명은 일 실시 예에 있어서, 상술한 주차 시스템은 방법 또는 장치를 수행하도록 하는 일련의 지시를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 즉, 본 발명은, 소정의 운영체제, 예를 들어 모바일 운영체제 내에서 구동되는 컴퓨터 프로그램일 수 있으며, 해당 프로그램은 상기 일련의 지시에 따른 프로세스를 처리하여 본 발명에 따른 방법이 실시되도록 할 수 있다.
또한 본 발명의 다른 일 실시 예에 있어서는, 상기 컴퓨터 프로그램이 저장되어 있는, 플로피디스크, CD, DVD, 하드디스크 메모리, 다양한 종류의 메모리 등 컴퓨터 또는 이와 유사한 전자 장치로 읽을 수 있는 기록 매체일 수 있으며, 상기 기록 매체 내의 상기 컴퓨터 프로그램을 읽어 들인 컴퓨터 또는 이와 유사한 전자 장치, 예를 들어 스마트 폰 등은 상기 컴퓨터 프로그램상의 상기 일련의 지시에 따라 본 발명에 따른 방법을 수행할 수 있다.
이상을 통해 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명의 범위에 속하는 것은 당연하다.
10: 사용자 단말기
100: 루트 블록체인
110: 루트 노드
200: 최상위 블록체인
210: 최상위 노드
300: 확장자 블록체인
310: 확장자 노드
100: 루트 블록체인
110: 루트 노드
200: 최상위 블록체인
210: 최상위 노드
300: 확장자 블록체인
310: 확장자 노드
Claims (14)
- P2P(peer-to-peer) 네트워크를 통해 복수의 노드들이 계층화된 복수의 블록체인 네트워크를 형성하고, 사용자 단말기(10)에 의해 요청된 도메인 네임에 대응하는 IP(internet protocol) 주소를 제공하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템으로써,
상기 사용자 단말기(10)로부터 전송되는 도메인 네임의 최상위 도메인을 관리하고 복수의 루트 노드(110)로 구성되는 루트 블록체인(100); 및
상기 루트 블록체인(100)의 하위 블록체인으로써, 최상위 도메인의 하위 도메인을 관리하고 복수의 최상위 노드(210)로 구성되는 최상위 블록체인(200);을 포함하고,
상기 사용자 단말기(10)에는
설정된 개수의 루트 노드(110)들의 아이피 주소와 해당 루트 노드(110)들의 일관성 지수가 저장되는 사용자 노드 리스트 파일이 저장되고, 상기 사용자 노드 리스트 파일에 저장된 어느 하나의 루트 노드(110)에게 도메인 네임의 아이피 주소를 질의하고,
상기 사용자 단말기(10)는
루트 블록체인(100) 내의 루트 노드(110)에 대한 일관성 지수를 관리하고, 사용자 단말기(10)의 동일한 도메인 네임에 대한 질의에 대해 루트 블록체인(100) 내의 루트 노드(110)가 동일한 아이피 주소를 응답하는 경우, 일관성 지수는 제1설정값 만큼 증가하고, 이전과 다른 아이피 주소를 응답하는 경우, 일관성 지수는 제1 설정값보다 큰 제2 설정값 만큼 감소하고, 정보 부재 응답을 전송한 루트 노드(110)에 대해서는 일관성 지수를 제2 설정값보다 큰 제3 설정값 만큼 감소하고,
상기 루트 블록체인(100)에는
설정된 개수의 최상위 노드(210)들의 아이피 주소와 해당 최상위 노드(210)들의 일관성 지수가 저장되는 최상위 노드 리스트 파일이 저장되고,
상기 루트 블록체인(100)을 구성하는 어느 하나의 루트 노드(110)는
사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 루트 노드 리스트 파일 내의 어느 하나의 최상위 노드(210)에게 질의하고, 상기 어느 하나의 최상위 노드(210)가 사용자 단말기(10)부터 루트 노드(110)를 통해 질의받은 도메인 네임의 아이피 주소를 갖고 있지 않은 경우, 상기 루트 노드(110)는 상기 사용자 단말기(10)에게 정보 부재 응답을 전송하고, 상기 루트 노드 리스트 파일 내의 후순위의 최상위 노드(210)에게 사용자 단말기(10)가 질의한 도메인 네임의 아이피 주소를 질의하고,
상기 루트 노드(110)는
상기 루트 블록체인(100)을 구성하는 다른 루트 노드(110)와 최상위 노드(210)들의 일관성 지수에 대한 정보를 서로 공유하고, 상기 일관성 지수가 임계값보다 작은 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에서 삭제하고, 상기 일관성 지수가 상기 임계값보다 큰 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에 추가하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- P2P(peer-to-peer) 네트워크를 통해 복수의 노드들이 계층화된 복수의 블록체인 네트워크를 형성하고, 사용자 단말기(10)에 의해 요청된 도메인 네임에 대응하는 IP(internet protocol) 주소를 제공하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템으로써,
상기 사용자 단말기(10); 및
상기 사용자 단말기(10)로부터 요청된 도메인 네임에 대응하는 아이피 주소를 제공하거나, 또는 루트 노드 리스트 파일 내의 어느 하나의 최상위 노드(210)에게 상기 사용자 단말기(10)로부터 요청받은 도메인 네임의 아이피 주소를 질의하는 루트 노드(110);를 포함하고
상기 사용자 단말기(10)는 사용자 노드 리스트 파일 내의 어느 하나의 루트 노드(110)에게 입력된 도메인 네임의 아이피 주소를 질의하고,
상기 사용자 단말기(10)는
루트 블록체인(100) 내의 루트 노드(110)에 대한 일관성 지수를 관리하고, 사용자 단말기(10)의 동일한 도메인 네임에 대한 질의에 대해 루트 블록체인(100) 내의 루트 노드(110)가 동일한 아이피 주소를 응답하는 경우, 일관성 지수는 제1설정값 만큼 증가하고, 이전과 다른 아이피 주소를 응답하는 경우, 일관성 지수는 제1 설정값보다 큰 제2 설정값 만큼 감소하고, 정보 부재 응답을 전송한 루트 노드(110)에 대해서는 일관성 지수를 제2 설정값보다 큰 제3 설정값 만큼 감소하고,
상기 사용자 노드 리스트 파일에는 설정된 개수의 루트 노드(110)들의 아이피 주소와 해당 루트 노드(110)들의 일관성 지수가 저장되고,
상기 루트 노드 리스트 파일에는
설정된 개수의 최상위 노드(210)들의 아이피 주소와 해당 최상위 노드(210)들의 일관성 지수가 저장되고,
상기 루트 노드(110)는
복수의 다른 루트 노드(110)와 루트 블록체인(100)을 구성하고, 상기 루트 블록체인(100)을 구성하는 각각의 루트 노드(110)들은 최상위 블록체인(200)을 구성하는 최상위 노드(210)들의 일관성 지수에 대한 정보를 서로 공유하고, 상기 루트 노드(110)는 일관성 지수가 임계값보다 작은 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에서 삭제하고, 일관성 지수가 임계값보다 큰 최상위 노드(210)에 대해서는 루트 노드(110) 리스트에 추가하는 계층화된 블록체인을 이용한 도메인 네임 제공 시스템. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190067567A KR102536777B1 (ko) | 2019-06-07 | 2019-06-07 | 계층화된 블록체인을 이용한 도메인 네임 제공 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190067567A KR102536777B1 (ko) | 2019-06-07 | 2019-06-07 | 계층화된 블록체인을 이용한 도메인 네임 제공 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200140650A KR20200140650A (ko) | 2020-12-16 |
KR102536777B1 true KR102536777B1 (ko) | 2023-05-24 |
Family
ID=74042253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190067567A KR102536777B1 (ko) | 2019-06-07 | 2019-06-07 | 계층화된 블록체인을 이용한 도메인 네임 제공 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102536777B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018162789A1 (en) * | 2017-03-06 | 2018-09-13 | Nokia Technologies Oy | Secure de-centralized domain name system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006101310A1 (en) * | 2005-02-21 | 2006-09-28 | Netpia.Com, Inc. | Local domain name service system and method for providing service using domain name service system |
US11223598B2 (en) | 2016-05-03 | 2022-01-11 | Nokia Of America Corporation | Internet security |
-
2019
- 2019-06-07 KR KR1020190067567A patent/KR102536777B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018162789A1 (en) * | 2017-03-06 | 2018-09-13 | Nokia Technologies Oy | Secure de-centralized domain name system |
Also Published As
Publication number | Publication date |
---|---|
KR20200140650A (ko) | 2020-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8689280B2 (en) | DNS-based content routing | |
EP3391627B1 (en) | Shared multi-tenant domain name system (dns) server for virtual networks and corresponding method | |
US9300623B1 (en) | Domain name system cache integrity check | |
CN107018174B (zh) | 一种单元化系统服务处理的方法、装置及业务处理系统 | |
US20140006577A1 (en) | Virtual domain name system | |
US10193997B2 (en) | Encoded URI references in restful requests to facilitate proxy aggregation | |
JP2018509695A (ja) | ストレージ中のデータを管理するためのコンピュータ・プログラム、システム、および方法 | |
US11818209B2 (en) | State management and object storage in a distributed cloud computing network | |
JP2014183586A (ja) | ハイ・パフォーマンスdnsトラフィック・マネージメント | |
CN107135242B (zh) | Mongodb集群访问方法、装置及系统 | |
EP4035344A1 (en) | Redirector based on resolver transparency | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
US11303606B1 (en) | Hashing name resolution requests according to an identified routing policy | |
US10944714B1 (en) | Multi-factor domain name resolution | |
US20240195713A1 (en) | Synthetic Resource Records | |
US10044602B2 (en) | Network failover and loop detection in hierarchical networks | |
US20240113941A1 (en) | Managing Cloud-Based Networks | |
US10044629B1 (en) | Dynamic TTL based on endpoint health checking | |
KR102536777B1 (ko) | 계층화된 블록체인을 이용한 도메인 네임 제공 시스템 | |
WO2018214792A1 (zh) | 一种用于对用户设备进行流量控制的方法与设备 | |
US20220385596A1 (en) | Protecting integration between resources of different services using service-generated dependency tags | |
CN113411364B (zh) | 资源获取方法、装置及服务器 | |
CN110247996B (zh) | 基于智慧课堂的可配置缓存系统的无线路由装置 | |
JP7454581B2 (ja) | ネットワークピアリング発見システムおよび方法 | |
US10712959B2 (en) | Method, device and computer program product for storing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |