KR102062535B1 - 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치 - Google Patents

네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치 Download PDF

Info

Publication number
KR102062535B1
KR102062535B1 KR1020170156350A KR20170156350A KR102062535B1 KR 102062535 B1 KR102062535 B1 KR 102062535B1 KR 1020170156350 A KR1020170156350 A KR 1020170156350A KR 20170156350 A KR20170156350 A KR 20170156350A KR 102062535 B1 KR102062535 B1 KR 102062535B1
Authority
KR
South Korea
Prior art keywords
data
contact
block
data blocks
data block
Prior art date
Application number
KR1020170156350A
Other languages
English (en)
Other versions
KR20190058922A (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 KR1020170156350A priority Critical patent/KR102062535B1/ko
Publication of KR20190058922A publication Critical patent/KR20190058922A/ko
Application granted granted Critical
Publication of KR102062535B1 publication Critical patent/KR102062535B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명의 실시 예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 데이터를 관리하고 검색하는 방법은, 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 블록 체인을 저장 및 업데이트하되 데이터 블록들 각각은 적어도 하나의 연락처 및 적어도 하나의 연락처에 대응하는 정보를 포함하는 단계, 연락처를 포함하는 요청 메시지를 수신하는 단계, 요청 메시지에 응답하여 블록 체인의 데이터 블록들의 적어도 일부에서 연락처를 검색하는 단계, 그리고 연락처의 검색이 성공할 때 데이터 블록들의 적어도 일부로부터 추출되는 검색된 연락처에 대응하는 정보에 따라 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함한다.

Description

네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치{DATA MANAGEMENT AND SEARCH METHOD OF EACH OF NODES COMMUNICATING EACH OTHER AND COMPUTER DEVICE OPERATING AS ONE OF NODES}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치에 관한 것이다.
블록 체인은 다수의 참여자들에게 데이터를 공유하여 데이터의 위조를 막는 방식을 사용한다. 블록 체인은 대표적인 온라인 가상 화폐인 비트코인에 적용될 수 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 기록하며, 비트코인을 사용하는 다수의 참여자들이 정해진 시간 간격으로 거래 내역을 검증하여 해킹을 막는다. 즉, 블록 체인은 모든 네트워크 참여자가 거래 내역을 공유 및 보관하는 분권형(decentralized) 구조를 포함한다. 2008년에 공개된 사토시 나카모토(Satoshi Nakamoto)의 논문 “비트코인: 피어-투-피어 전자화폐 시스템(Bitcoin: A Peer-to-Peer Electronic Cash System)”에는 중앙의 금융 기관이 개입되지 않은 P2P 방식의 전자 화폐가 제시되어 있으며, 암호학적 기능(cryptographic function)을 이용한 화폐의 중복 사용(double spending) 문제를 해결하고, 이에 참여하는 분권화된 노드들이 채굴(mining) 과정을 통해 인센티브를 지급 받는 방식이 제시되어 있다.
종래의 전화번호에 대한 정보를 제공하는 방식은 중앙 집중형 서버를 이용한 클라우드에 데이터를 저장 및 관리하며, 사용자들은 클라우드에 접속하여 데이터를 요청 혹은 검색한다. 이러한 방식은 대용량의 저장 장치가 요구될 뿐만 아니라 이를 관리하기 위한 중앙 집중형 서버가 요구되고, 이는 시스템의 설계 및 유지를 복잡하게 하는 문제점을 내포한다.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
본 발명의 실시 예들은 전화번호들에 대한 정보들을 저장하는 데이터베이스가 위조 또는 변조되는 것을 방지 하고, 데이터베이스로부터 사용자에게 제공되는 정보가 높은 신뢰성을 갖도록 하기 위한 것이다. 예를 들면, 전화번호들에 대한 정보들은 블록 체인에 저장될 수 있다.
본 발명의 실시 예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 데이터를 관리하고 검색하는 방법은: 상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 전화번호 및 상기 적어도 하나의 전화번호에 대응하는 정보를 포함하는, 단계; 전화번호를 포함하는 요청 메시지를 수신하는 단계; 상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 적어도 일부에서 상기 전화번호를 검색하는 단계; 및 상기 전화번호의 검색이 성공할 때, 상기 데이터 블록들의 상기 적어도 일부로부터 추출되는 상기 검색된 전화번호에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함한다.
상기 전화번호를 검색하는 단계는, 상기 블록 체인의 상기 데이터 블록들 중 가장 높은 데이터 블록과 상기 가장 높은 데이터 블록에 순차적으로 링크된 소정 수의 데이터 블록들에서 상기 전화번호를 검색하는 단계를 포함할 수 있다.
상기 데이터 블록들은 각각 타임 스탬프들을 포함하되, 상기 전화번호를 검색하는 단계는, 상기 블록 체인의 상기 데이터 블록들 중 소정 시간 내에 속하는 타임 스탬프들을 갖는 데이터 블록들에서 상기 전화번호를 검색하는 단계를 포함할 수 있다.
상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 전화번호에 대응하는 상기 정보는 상기 적어도 하나의 전화번호에 대한 평판을 포함할 수 있다.
상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 전화번호에 대응하는 상기 정보는 상기 적어도 하나의 전화번호에 대한 코멘트를 포함할 수 있다.
상기 데이터 블록들은 제 1 데이터 블록을 포함하되, 상기 블록 체인을 저장 및 업데이트하는 단계는, 사용자 단말기들로부터 전화번호들과 관련하여 수신되는 정보들을 수집하는 단계; 및 상기 수집된 정보들을 이용하여 상기 제 1 데이터 블록을 생성하는 단계를 포함할 수 있다.
상기 블록 체인을 저장 및 업데이트하는 단계는, 상기 제 1 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함할 수 있다.
상기 제 1 데이터 블록을 상기 네트워크를 통해 전송함으로써 상기 제 1 데이터 블록을 다른 노드들에 공유하는 단계를 더 포함할 수 있다.
상기 데이터 블록들은 제 2 데이터 블록을 포함하되, 상기 블록 체인을 저장 및 업데이트하는 단계는, 상기 복수의 노드들 중 어느 하나로부터 상기 제 2 데이터 블록을 수신하는 단계를 포함할 수 있다.
상기 블록 체인을 저장 및 업데이트하는 단계는, 상기 제 2 데이터 블록을 검증하는 단계; 및 상기 검증 결과에 따라 상기 제 2 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 네트워크를 통해 복수의 노드들과 통신하여 데이터를 관리하고 검색하는 방법은: 순차적으로 링크되는 제 1 내지 제 N 데이터 블록들을 포함하는 블록 체인을 저장하되, 상기 제 1 내지 제 N 데이터 블록들 각각은 전화번호들 및 상기 전화번호들에 대응하는 정보들을 포함하고 상기 N은 1보다 큰 정수인, 단계; 전화번호를 포함하는 요청 메시지를 수신하는 단계; 상기 제 N-K 내지 제 N 데이터 블록들에서 상기 전화번호를 검색하되, 상기 K는 1보다 크고 N보다 작은 정수인, 단계; 및 상기 전화번호의 검색이 성공할 때, 상기 제 N-K 내지 제 N 데이터 블록들로부터 추출되는 상기 전화번호에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함한다.
상기 제 N 데이터 블록은 상기 블록 체인의 가장 높은 데이터 블록이고, 상기 제 1 데이터 블록은 상기 블록 체인의 가장 낮은 데이터 블록일 수 있다.
상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 전화번호들에 대응하는 정보들은 상기 전화번호들에 대한 평판들을 포함할 수 있다.
상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 전화번호들에 대응하는 정보들은 상기 전화번호들에 대한 코멘트를 포함할 수 있다.
본 발명의 다른 일면은 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치에 관한 것이다. 본 발명의 실시 예에 따른 컴퓨터 장치는: 상기 네트워크와 통신하는 통신기; 및 상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되, 상기 적어도 하나의 프로세서는, 상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 데이터베이스에 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 전화번호 및 상기 적어도 하나의 전화번호에 대응하는 정보를 포함하고; 상기 통신기를 통해 전화번호를 포함하는 요청 메시지를 수신하고; 상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 적어도 일부에서 상기 전화번호를 검색하고; 상기 전화번호의 검색이 성공할 때, 상기 데이터 블록들의 상기 적어도 일부로부터 추출되는 상기 검색된 전화번호에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 상기 통신기를 통해 제공하도록 구성된다.
본 발명의 실시 예들은 전화번호들에 대한 정보들을 저장하는 데이터베이스가 위조 또는 변조되는 것을 방지 하고, 데이터베이스로부터 사용자에게 제공되는 정보가 높은 신뢰성을 갖도록 한다.
도 1은 본 발명의 실시 예들이 적용될 수 있는 블록 체인 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 블록 체인을 보여주는 개념도이다.
도 3은 도 2의 블록 체인의 데이터 블록들 중 일부를 좀 더 구체적으로 보여주는 개념도이다.
도 4는 본 발명의 실시 예에 따른 복수의 노드들 중 어느 하나에서 블록 체인을 업데이트하는 방법을 보여주는 순서도이다.
도 5는 도 4의 S110단계에서 수집되는 정보를 보여주는 도면이다.
도 6은 도 4의 S130단계에서 생성되는 데이터 블록의 일 예를 보여주는 개념도이다.
도 7은 도 4의 S130단계에서 생성되는 데이터 블록의 다른 예를 보여주는 개념도이다.
도 8은 복수의 노드들 중 어느 하나에서 블록 체인을 업데이트하는 방법의 다른 실시 예를 보여주는 순서도이다.
도 9는 본 발명의 실시 예에 따른 복수의 노드들 중 어느 하나에서 전화번호에 대한 정보를 제공하는 방법을 보여주는 순서도이다.
도 10은 도 9의 S330단계의 실시 예를 보여주는 순서도이다.
도 11은 블록 체인에 포함되는 데이터 블록들을 보여주는 개념도이다.
도 12는 도 1의 복수의 노드들 중 어느 하나에 적합한 예시적인 컴퓨터 장치를 보여주는 블록도이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시 예들이 적용될 수 있는 블록 체인 시스템(100)을 보여주는 블록도이다.
도 1을 참조하면 블록 체인 시스템(100)은 복수의 노드들(110-170)로 이루어진 분권형 네트워크(decentralized network) 시스템이다. 분권형 네트워크를 구성하는 노드들(110-170)은 컴퓨터, 이동 단말기, 전용 전자 장치 등 계산 능력을 갖는 전자 장치들이다.
블록 체인 시스템(100)은 블록 체인(block chain)이라 불리는 데이터 블록들의 연결 묶음 내에 모든 노드들(110~170)에 공통으로 알려진 정보를 저장할 수 있다. 복수의 노드들(110~170) 각각은 상호간 통신을 수행하여 동일한 데이터 블록들을 포함하는 동일한 블록 체인을 저장할 수 있다. 복수의 노드들(110-170)은 블록 체인을 저장하고, 신규 데이터 블록을 생성 및 전파하고, 수신된 신규 데이터 블록을 검증하고, 신규 데이터 블록을 블록 체인에 포함시켜 블록 체인을 업데이트하는 완전 노드(full node)일 수 있다.
블록 체인에 포함된 데이터 블록들 각각은 연락처와 연락처에 대한 정보를 포함한다. 예를 들면, 각 데이터 블록은 특정 연락처에 대한 평판, 특정 연락처가 스팸인지 아닌지를 나타내는 정보, 연락처에 대한 코멘트(예를 들면 해당 업체의 정보) 등 연락처에 대한 다양한 정보들을 포함할 수 있다. 여기에서, 연락처는 사용자 장치들 사이의 통신을 위해 특정된 어드레스이다. 예를 들면 사용자 장치가 전화기로서 기능할 때 연락처는 그 사용자 장치에 할당되어 있는 전화번호일 수 있다. 다른 예로서, 사용자 장치가 인터넷과 통신 가능하여 인터넷 전화로서 기능할 때 연락처는 인터넷 상 그 사용자 장치의 위치를 나타내는 어드레스일 수 있다. 연락처는 사용자 장치들 사이의 통신을 위해 다양한 방식들에 따라 특정될 수 있다. 이하, 설명의 편의를 위해, 블록 체인에 포함된 데이터 블록들 각각이 전화번호와 전화번호에 대한 정보를 포함하는 실시 예들을 설명한다.
한편, 위에서 노드들(110~170)이 완전 노드들이라고 설명되었다. 그러나, 본 발명의 실시 예들은 여기에 한정되지 않는다. 복수의 노드들(110~170) 중 적어도 일부는 전화번호에 대한 정보, 예를 들면 전화번호에 대한 평가, 전화번호에 대한 코멘트 등을 완전 노드에 제공하는 간이 노드(light node)일 수 있다. 예를 들면, 간이 노드는 사용자로부터 전화번호에 대한 정보를 입력받는 사용자 인터페이스, 그리고 입력된 정보를 다른 노드에 전송하는 통신 모듈을 포함할 수 있다.
복수의 노드들(110~170) 각각은 데이터 블록을 생성할 때마다 생성된 신규 데이터 블록을 다른 노드들에 공유하며, 이에 따라 복수의 노드들(110~170)은 동일한 데이터 블록들을 포함하는 동일한 블록 체인을 저장할 수 있다. 신규 데이터 블록을 수신한 데이터 블록들은 해당 데이터 블록을 검증하여 신규 데이터 블록을 블록 체인에 포함시킬지 여부를 합의할 수 있다. 검증 결과에 따라, 복수의 노드들(110~170)은 블록 체인을 업데이트할 수 있다. 이러한 방식으로 복수의 노드들(110~170)은 동일한 블록 체인을 저장할 수 있다.
도 2는 본 발명의 실시 예에 따른 블록 체인(200)을 보여주는 개념도이다.
도 2를 참조하면 블록 체인(200)은 순차적으로 연결된 데이터 블록들(210~230)을 포함한다. 블록 체인(200)은, 블록 체인 시스템(100)에 포함된 각 노드가 신규 데이터 블록을 생성하고, 생성된 신규 데이터 블록을 공유하고, 공유된 데이터 블록을 블록 체인(200)에 링크함으로써 생성된다. 도 2에는 3개의 데이터 블록들(210~230)이 예시적으로 도시되어 있으나, 블록 체인(100)에 포함될 수 있는 데이터 블록들의 수는 이에 제한되지 않는다.
데이터 블록들(210~230) 각각은 블록 헤더(BH)와 블록 바디(BB)를 포함한다. 블록 헤더(BH)는 데이터 블록들 사이의 연결 관계를 나타내기 위해 이전 데이터 블록의 해시값을 포함할 수 있다. 예를 들면, 제 N-1 데이터 블록(220)의 블록 헤더(BH)는 이전 데이터 블록(210)의 블록 헤더(BH)에 포함된 해시값을 포함한다. 블록 체인(200)이 유효한지 검증하는 과정에서 블록 헤더(BH) 내에 포함된 해시값이 사용될 수 있다. 블록 바디(BB)는 전화번호 및 전화번호에 대한 정보를 포함할 수 있다.
도 3은 도 2의 블록 체인(200)의 데이터 블록들 중 일부를 좀 더 구체적으로 보여주는 개념도이다.
도 2 및 도 3을 참조하면, 각 데이터 블록의 블록 헤더(BH)는 이전 데이터 블록의 해시값(221, 231), 현재 데이터 블록의 해시값(222, 232), 및 바디의 해시값(223, 233)를 포함할 수 있다.
데이터 블록들(210~230)은 해시값들에 기초하여 연결된다. 제 N 데이터 블록(230)의 블록 헤더(BH)에 포함된 이전 데이터 블록의 해시값(231)은 이전 데이터 블록인 제 N-1 데이터 블록(220)의 블록 헤더(BH)에 포함된 현재 데이터 블록의 해시값(222)과 동일한 값이다. 이와 같이, 각 데이터 블록은 블록 헤더(BH) 내에 이전 데이터 블록의 해시값을 포함함으로써 연쇄적으로 연결된다. 블록 체인 시스템(100)에 참여하는 노드들(110~170)은 데이터 블록들(210~230) 각각에 포함된 이전 데이터 블록의 해시값에 기반하여 데이터 블록들(210~230)의 유효성을 검증할 수 있다. 이에 따라, 이미 생성되어 블록 체인(200)에 포함되어 있는 데이터 블록의 내용을 위조 또는 변조하기는 상당히 어렵다.
블록 헤더(BH)의 바디의 해시값(223, 233)은 해당 블록 바디(BB)의 헤더를 나타낼 수 있다.
블록 헤더(BH)는 추가 데이터(224, 234) 필드를 더 포함할 수 있다. 예를 들면, 추가 데이터(224, 234)는 해당 데이터 블록이 생성된 시점을 나타내는 타임 스탬프를 포함할 수 있다.
블록 바디(BB)는 전화번호들에 대한 정보들을 포함한다. 복수의 노드들(110~170)은 동일한 데이터 블록들(210~230)을 저장하고 있다. 복수의 노드들(110~170) 중 임의의 노드(예를 들면 110)에 저장된 데이터 블록들(210~230)이 위조 또는 변조된다 하더라도, 해당 노드에 저장된 데이터 블록들(210~230)은 다른 노드들의 데이터 블록들(210~230)과 다르므로, 위조 또는 변조는 쉽게 판별될 수 있다. 이에 따라, 데이터 블록들(210~230)의 블록 바디들(BB) 내 전화번호들에 대한 정보들은 임의로 변경되기 어렵고, 그러므로 상대적으로 높은 신뢰성을 갖는다.
만약 특정 관리자에 의해 관리되는 중앙 서버에 전화번호들에 대한 정보들이 저장된다면, 해당 관리자의 필요에 따라 임의로 전화번호들에 대응하는 정보들이 조작될 수 있다. 반면, 본 발명의 실시 예에 따르면, 블록 체인(200)에 전화번호들에 대한 정보들을 저장함으로써 그 정보들이 복수의 노드들(110~170)에 의해 공유되고, 따라서 누군가에 의해 전화번호에 대응하는 정보가 자의적으로 변경될 가능성은 감소할 수 있다. 나아가, 앞서 설명된 바와 같이, 복수의 노드들(110~170) 각각은 데이터 블록들(210~230) 각각에 포함된 이전 데이터 블록의 해시값에 기반하여 각 데이터 블록의 유효성을 검증할 수 있으므로, 누군가에 의해 이미 생성된 데이터 블록의 내용, 예를 들면 블록 바디(BB) 내 전화번호들에 관한 정보들이 위조 또는 변조되기는 어렵다. 이에 따라, 블록 체인(200)에 저장된 전화번호들에 관한 정보들은 높은 신뢰성을 가질 수 있다.
도 4는 본 발명의 실시 예에 따른 복수의 노드들(110~170) 중 어느 하나에서 블록 체인(200)을 업데이트하는 방법을 보여주는 순서도이다. 도 5는 도 4의 S110단계에서 수집되는 정보를 보여주는 도면이다. 도 6은 도 4의 S130단계에서 생성되는 데이터 블록의 일 예를 보여주는 개념도이다. 도 7은 도 4의 S130단계에서 생성되는 데이터 블록의 다른 예를 보여주는 개념도이다.
도 4를 참조하면, S110단계에서, 전화번호들과 관련하여 정보들이 수집된다. 실시 예로서, 노드와 통신하는 사용자 단말기들 각각은 사용자로부터 전화번호와 관련하여 입력되는 정보, 예를 들면 전화번호에 대한 평가 및 코멘트를 수신하고, 수신된 정보를 노드에 전송할 수 있다.
좀 더 구체적으로 설명하면, 사용자는 전화번호가 스팸 전화번호인지 아닌지 여부를 평가할 수 있다. 예를 들면, 사용자는 착신 전화번호에 대한 평가로 “좋아요(like)” 또는 “싫어요(unlike)”를 입력할 수 있으며, 사용자 단말기는 입력된 평가를 노드에 전달할 수 있다. 다른 예로서, 사용자 단말기로 임의의 전화번호로부터 전화가 걸려올 때 사용자가 수신을 거부하면, 사용자 단말기는 해당 전화번호에 대한 평가로 “싫어요(unlike)”를 노드에 알릴 수 있다. 이 밖에도, 사용자 단말기는 다양한 방식들로 사용자에 의해 야기되는 전화번호와 관련된 정보를 수신하고 수신된 정보를 노드에 전달할 수 있다. 또 다른 실시 예로서, 노드가 사용자가 사용하는 컴퓨터 장치, 예를 들면 이동 단말기나 퍼스널 컴퓨터인 경우, 노드는 해당 사용자에 의해 야기되는 전화번호와 관련된 정보를 직접 수신할 수 있다.
도 5를 참조하면, 제 1 전화번호(PHN1)인 “111-1111-1111”와 관련하여, 제 1 내지 제 m 평가들(EVL11~EVL1m)이 수집된다. 도 5에 예시된 바와 같이, 제 1 내지 제 m 평가들(EVL11~EVL1m) 각각은 “싫어요” 및 “좋아요” 중 어느 하나일 수 있다. 또한, 제 1 전화번호(PHN1)와 관련하여 제 1 내지 제 m 코멘트들(CMT11~CMT1m)이 수집된다. 예를 들면, 제 1 내지 제 m 코멘트들(CMT11~CMT1m)은 “인터넷 가입 권유”, “통신사”, “스팸 번호” 등과 같은 업체 정보들일 수 있다.
다시 도 4를 참조하면, S120단계에서, 기 정해진 조건을 만족하는지 여부가 판별된다. 만약 그렇다면, S130단계가 수행된다. 예를 들면, 전화번호와 관련하여 소정의 수 이상 정보가 수신될 때 S130단계가 수행될 수 있다. 다른 예로서, 소정의 시간 동안 전화번호들과 관련하여 정보들이 수집되고, 그러한 소정의 시간이 경과할 때 S130단계가 수행될 수 있다.
S130단계에서, 수집된 정보들을 이용하여 데이터 블록이 생성된다. 데이터 블록은 블록 헤더(BH, 도 3 참조) 및 블록 바디(BB, 도 3 참조)를 포함한다. 노드는 필요한 계산들을 수행함으로써 이전 데이터 블록의 해시값(231, 도 3 참조), 현재 블록의 해시값(232, 도 3 참조), 바디의 해시값(233, 도 3 참조), 및 추가 데이터(234, 도 3 참조)를 포함하는 블록 헤더(BH)를 생성할 수 있다. 또한, 노드는 전화번호들에 대한 정보를 포함하는 블록 바디(BB)를 생성할 수 있다.
도 6을 참조하면, 제 1 내지 제 n 전화번호들(PHN1~PHNn)에 관한 정보들이 블록 바디(BB)에 포함되어 있다.
실시 예로서, 각 전화번호에 관한 정보는 평판 정보와 코멘트를 포함할 수 있다. 블록 바디(BB)는 제 1 내지 제 n 전화번호들(PHN1~PHNn)에 대응하는 제 1 내지 제 n 평판 정보들(RPT1~RPTn)과 제 1 내지 제 n 코멘트들(CMT1~CMTn)을 포함할 수 있다.
평판 정보와 코멘트는 도 4의 S110단계에서 해당 전화번호와 관련하여 수집된 정보들에 따라 결정된다. 실시 예로서, 노드는 전화번호(예를 들면, 도 5의 PHN1)와 관련하여 수집된 평가들(예를 들면, 도 5의 EVL11~EVL1m)에 따라 해당 평판 정보를 결정할 수 있다. 실시 예로서, 노드는 전화번호(예를 들면, 도 5의 PHN1)와 관련하여 수집된 코멘트들(예를 들면, 도 5의 CMT11~CMT1m)에 따라 해당 코멘트를 결정할 수 있다.
제 1 내지 제 n 평판 정보들(RPT1~RPTn)은 도 6에 도시된 바와 같이 제 1 내지 제 n 카운트 값들(CNT1~CNTn)일 수 있다. 카운트 값은 해당 전화번호가 “싫어요”로 평가된 횟수 혹은 해당 전화번호가 “좋아요”로 평가된 횟수일 수 있다. 예를 들면, 제 1 전화번호(PHN1)에 대응하는 제 1 카운트 값(CNT1)은 도 5의 제 1 내지 제 m 평가들(EVL11~EVL1m) 중 “싫어요”인 평가들의 개수를 나타낼 수 있다.
코멘트는 해당 전화번호와 관련하여 수집된 코멘트들 중 가장 많은 횟수로 나타나는 텍스트일 수 있다. 예를 들면, 제 1 전화번호(PHN1)에 대응하는 제 1 코멘트(CMT1)는 도 5의 제 1 내지 제 m 코멘트들(CMT11~CMT1m) 중 가장 많은 횟수로 나타나는 텍스트일 수 있다.
노드는 전화번호들과 관련하여 수집된 정보들을 다양한 방식들에 따라 가공하여 제 1 내지 제 n 평판 정보들(RPT1~RPTn)과 제 1 내지 제 n 코멘트들(CMT1~CMTn)을 결정할 수 있다. 도 7에 도시된 바와 같이, 제 1 내지 제 n 평판 정보들(PRT1~PRTn)은 확률 값들일 수 있다. 확률 값은 해당 전화번호가 “싫어요”로 평가된 횟수와 “좋아요”로 평가된 횟수 사이의 비율을 나타낼 수 있다. 도 7은 블록 바디(BB)가 각 전화번호에 대한 평가들 중 “싫어요”인 평가들의 비율을 포함하는 것으로 예시하고 있다.
다시 도 4를 참조하면, S140단계에서, 생성된 데이터 블록이 네트워크에 전송되어 다른 노드들에 해당 데이터 블록을 공유한다. S150단계에서, 생성된 데이터 블록을 블록 체인(200)에 링크시켜 블록 체인(200)을 업데이트한다. 노드는 이미 저장된 블록 체인(200)의 마지막 데이터 블록에 신규 데이터 블록을 링크시켜 블록 체인(200)을 업데이트할 수 있다. 마찬가지로, 다른 노드들도 신규 데이터 블록을 블록 체인(200)에 링크시켜 블록 체인(200)을 업데이트할 수 있다.
도 8은 복수의 노드들(110~170) 중 어느 하나에서 블록 체인(200)을 업데이트하는 방법의 다른 실시 예를 보여주는 순서도이다.
도 8을 참조하면, S210단계에서, 신규 데이터 블록이 네트워크를 통해 노드에 수신된다. 수신된 신규 데이터 블록은 도 2 및 도 3을 참조하여 설명된 데이터 블록과 마찬가지로 구성될 수 있다. 신규 데이터 블록은 블록 헤더(BH)와 블록 바디(BB)를 포함할 수 있다. 블록 바디(BB)는 전화번호들 및 전화번호들에 대한 정보를 포함할 수 있다.
S220단계에서, 수신된 데이터 블록이 검증된다. 노드는 수신된 데이터 블록의 블록 헤더(BH)에 기반하여 데이터 블록을 검증할 수 있다. 노드는 수신된 데이터 블록의 블록 헤더(BH)에 기반하여 데이터 블록을 검증할 수 있다. 노드는 수신된 데이터 블록의 블록 헤더(BH)에 포함된 이전 데이터 블록의 해시값(예를 들면, 도 3의 231)이 블록 체인(200)의 마지막 데이터 블록의 블록 헤더(BH)에 포함된 현재 블록의 해시값(예를 들면, 도 3의 222)과 일치하는지 여부를 판별함으로써 수신된 데이터 블록을 검증할 수 있다. 노드는 수신된 데이터 블록의 블록 바디(BB)에 기반하여 데이터 블록을 검증할 수 있다. 노드는 블록 바디(BB)의 전화번호들 및 전화번호들에 대한 정보들이 정해진 데이터 포멧을 갖는지 여부를 체크함으로써 데이터 블록을 검증할 수 있다. 그러나, 본 발명의 실시 예들은 여기에 한정되지 않는다. 노드는 다양한 방식들에 따라 데이터 블록을 검증할 수 있다.
S230단계에서, 검증이 성공했는지 여부에 따라 S240단계가 수행된다. S240단계에서, 수신된 데이터 블록을 블록 체인(200)에 링크시켜 블록 체인(200)이 업데이트된다.
도 9는 본 발명의 실시 예에 따른 복수의 노드들(110~170) 중 어느 하나에서 전화번호에 대한 정보를 제공하는 방법을 보여주는 순서도이다.
도 9를 참조하면, S310단계에서, 블록 체인이 저장된다. 블록 체인은 도 4 및 도 8을 참조하여 설명된 바와 같이 저장될 수 있다.
S320단계에서, 특정 전화번호에 대한 요청 메시지가 수신된다. 예를 들면, 노드는 사용자 단말기로부터 네트워크를 통해, 특정 전화번호에 대한 정보를 문의하는 요청 메시지를 수신할 수 있다.
S330단계에서, 블록 체인의 데이터 블록들의 적어도 일부에서 해당 전화번호를 검색한다. 데이터 블록들의 블록 바디들 각각은 전화번호들 및 전화번호들에 대한 정보들을 포함한다. 노드는 저장된 데이터 블록들 중 검색 범위의 데이터 블록들을 스캔함으로써 요청된 전화번호를 검색할 수 있다.
S340단계에서, 전화번호가 검색되는지 여부에 따라 S350단계 또는 S360단계가 수행된다.
S350단계에서, 검색된 전화번호와 관련하여 저장된 정보에 따라 요청 메시지에 대한 피드백을 제공한다.
도 6을 참조하여 설명된 바와 같이, 전화번호에 대한 정보가 평판 정보이고 평판 정보가 카운트 값일 때, 검색된 전화번호와 관련하여 저장되어 있는 카운트 값이 사용자 단말기에 제공될 수 있다. 전화번호가 복수의 데이터 블록들에서 검색될 때, 해당 카운트 값들이 연산되어 연산된 값이 사용자 단말기에 제공될 수 있다. 예를 들면, 카운트 값들의 합이 연산되어 피드백될 수 있다. 다른 예로서, 전화번호가 검색된 데이터 블록이 갖는 높이가 높을수록(늦게 저장된 데이터 블록일수록) 해당 카운트 값에 높은 가중치가 부여되고, 가중치들이 부여된 카운트 값들의 합이 연산되어 피드백될 수 있다.
도 7을 참조하여 설명된 바와 같이, 평판 정보가 확률 값일 때, 검색된 전화번호와 관련하여 저장되어 있는 확률 값이 사용자 단말기에 제공될 수 있다. 전화번호가 복수의 데이터 블록들에서 검색될 때, 해당 확률 값들이 연산되어 연산된 값이 사용자 단말기에 제공될 수 있다. 예를 들면, 확률 값들의 평균 값이 연산되어 피드백될 수 있다. 다른 예로서, 데이터 블록이 갖는 높이가 높을수록(늦게 저장된 데이터 블록일수록) 해당 확률 값에 높은 가중치가 부여되고, 가중치들이 부여된 확률 값들의 평균 값이 연산되어 피드백될 수 있다.
연산된 값이 소정의 임계 값 이상일 때 스팸 전화번호임을 나타내는 메시지가 피드백될 수 있다.
S360단계에서, 전화번호가 검색되지 않았음을 나타내는 피드백을 제공한다.
도 10은 도 9의 S330단계의 실시 예를 보여주는 순서도이다. 도 11은 블록 체인(1100)에 포함되는 데이터 블록들을 보여주는 개념도이다.
도 10을 참조하면, 전화번호의 검색을 위해 블록 체인의 데이터 블록들 중 일부가 선택된다. 도 11을 참조하면, 블록 체인에 제 1 내지 제 N 데이터 블록들이 포함되어 있다.
제 N 데이터 블록은 블록 체인에 포함된 데이터 블록들 중 가장 높은 데이터 블록, 즉 최신 블록이다. 제 1 데이터 블록은 블록 체인에 포함된 데이터 블록들 중 가낭 낮은 데이터 블록, 즉 제네시스(genisis) 블록이다. 본 발명의 실시 예에 따르면, 노드는 가장 높은 데이터 블록(즉, 제 N 데이터 블록), 그리고 가장 높은 데이터 블록에 순차적으로 링크된 데이터 블록들을 선택하고, 선택된 데이터 블록들에서 전화번호를 검색할 수 있다.
실시 예로서, 노드는 정해진 수의 데이터 블록들을 선택할 수 있다. 정해진 수가 K+1일 때, 노드는 도 10에 도시된 바와 같이 데이터 블록인 제 N 데이터 블록, 그리고 제 N 데이터 블록에 순차적으로 링크된 제 N-K 내지 제 N-1 데이터 블록들을 선택할 수 있다.
제 1 내지 제 N 데이터 블록들 각각은 블록 헤더에 타임 스탬프를 포함할 수 있다. 예를 들면, 타임 스탬프는 도 3을 참조하여 설명된 추가 데이터(224, 234)에 포함된다. 이러한 경우, 노드는 제 1 내지 제 N 데이터 블록들 중 현재 시점으로부터 소정 시간 내에 속하는 타임 스탬프들을 갖는 데이터 블록들을 선택할 수 있다. 예를 들면, 제 N-K 내지 제 N 데이터 블록들이 현재 시점으로부터 소정 시간 내에 속하는 타임 스탬프들을 가질 때, 도 10에 도시된 바와 같이 제 N-K 내지 제 N 데이터 블록들이 선택된다.
만약 특정 관리자에 의해 관리되는 중앙 서버에 전화번호에 대한 정보들이 저장되고 그에 기반하여 전화번호에 대한 정보를 제공한다면, 제공되는 정보는 과거로부터 누적된 정보들에 기반하므로, 현재 시점에서는 낮은 신뢰성을 가질 수 있다. 예를 들면, 과거에 스팸인 전화번호는 현재에는 더 이상 스팸이 아닐 수 있다. 본 발명의 실시 예에 따르면, 전화번호에 대한 정보들은 블록 체인의 데이터 블록들에 저장되며, 가장 높은 데이터 블록(즉, 제 N 데이터 블록), 그리고 가장 높은 데이터 블록에 순차적으로 링크된 데이터 블록들이 전화번호를 검색하기 위한 범위일 수 있다. 블록 체인의 데이터 블록들이 생성되는 순서대로 링크되며, 나중에 링크된(높은 높이의) 데이터 블록일수록 현재 시점에서 높은 신뢰성을 갖는 점을 고려할 때, 위와 같이 방식으로 선택된 데이터 블록들을 조회함으로써 제공되는 전화번호에 대한 정보는, 시간의 경과를 고려한 별도의 처리 없이, 높은 신뢰성을 가질 수 있다. 예를 들면, 과거에 스팸인 전화번호는 블록 체인이 업데이트됨에 따라 현재에는 스팸이 아닐 수 있다.
도 12는 도 1의 복수의 노드들(110~170) 중 어느 하나에 적합한 예시적인 컴퓨터 장치(1200)를 보여주는 블록도이다.
도 12를 참조하면, 컴퓨터 장치(1200)는 프로세서(1210), 메모리(1220), 데이터베이스(1230), 및 통신기(1240)를 포함한다.
메모리(1220)는 프로세서(1210)에 의해 실행될 때 다양한 기능들을 제공하는 프로그램 코드들을 저장할 수 있다. 컴퓨터 장치(1200)가 복수의 노드들(110~170) 중 어느 하나에 채용될 때, 그러한 프로그램 코드들은 프로세서(1210)에 의해 실행될 때 도 4, 도 8, 도 9, 및 도 10을 참조하여 설명된 동작들 및/또는 기능들을 제공할 수 있다. 이 밖에도, 프로그램 코드들은 프로세서(1210)에 의해 실행될 때 하나 또는 그 이상의 추가적인 동작들 및/또는 기능들을 제공할 수 있다. 이러한 프로그램 코드들은 드라이브 메커니즘을 이용하여 메모리(1220)와는 별도의 컴퓨터에 의해 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에 의해 판독 가능한 기록 매체는 플로피 디스크 드라이브, DVD/CD-ROM 드라이브, 하드 디스크 드라이브, 메모리 카드 등 다양한 저장 매체들 중 적어도 하나를 포함할 수 있다. 또는, 프로그램 코드들은 외부 장치로부터 통신기(1240)을 통해 메모리(1220)에 로딩될 수도 있다.
데이터베이스(1230)는 도 2를 참조하여 설명된 블록 체인을 저장할 수 있다. 프로세서(1210)는 데이터베이스(1230)와 통신하여 블록 체인을 저장 및 업데이트하고, 블록 체인에 저장된 정보를 읽고, 읽어진 정보를 처리할 수 있다. 도 12에서, 데이터베이스(1230)는 컴퓨터 장치(1200)의 구성 요소로서 도시되어 있다. 그러나, 본 발명의 실시 예들은 여기에 한정되지 않는다. 예를 들면, 데이터베이스(1230)는 컴퓨터 장치(1200) 외부의 구성 요소일 수 있고, 컴퓨터 장치(1200)는 통신기(1240)를 통해 데이터베이스(1230)와 통신할 수 있다.
통신기(1240)는 네트워크와 통신하도록 구성된다. 통신기(1240)는 네트워크를 통해 도 1에 도시된 복수의 노드들(110~170) 중 적어도 하나와 통신할 수 있다.
비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110~170: 복수의 노드들
200: 블록 체인
210~230: 제 N-2 내지 제 N 데이터 블록들
BH: 블록 헤더
BB: 블록 바디
RPT1~RPTn: 제 1 내지 제 n 평판 정보들
CMT1~CMTn: 제 1 내지 제 n 코멘트들

Claims (18)

  1. 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 데이터를 관리하고 검색하는 방법에 있어서:
    상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 연락처 및 상기 적어도 하나의 연락처에 대응하는 정보를 포함하는, 단계;
    연락처를 포함하는 요청 메시지를 수신하는 단계;
    상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 일부에서 상기 연락처를 검색하는 단계; 및
    상기 연락처의 검색이 성공할 때, 상기 데이터 블록들의 상기 일부로부터 추출되는 상기 검색된 연락처에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함하되,
    상기 연락처를 검색하는 단계는 상기 블록 체인의 상기 데이터 블록들 중 가장 높은 데이터 블록과 상기 가장 높은 데이터 블록에 순차적으로 링크된 데이터 블록들에서 상기 연락처를 검색하는 단계를 포함하는 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 데이터 블록들은 각각 타임 스탬프들을 포함하되,
    상기 가장 높은 데이터 블록과 상기 순차적으로 링크된 데이터 블록들은 소정 시간 내에 속하는 타임 스탬프들을 갖는 방법.
  4. 제 1 항에 있어서,
    상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 연락처에 대응하는 상기 정보는 상기 적어도 하나의 연락처에 대한 평판을 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 연락처에 대응하는 상기 정보는 상기 적어도 하나의 연락처에 대한 코멘트를 포함하는 방법.
  6. 제 1 항에 있어서,
    상기 데이터 블록들은 제 1 데이터 블록을 포함하되,
    상기 블록 체인을 저장 및 업데이트하는 단계는,
    사용자 단말기들로부터 연락처들과 관련하여 수신되는 정보들을 수집하는 단계; 및
    상기 수집된 정보들을 이용하여 상기 제 1 데이터 블록을 생성하는 단계를 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 블록 체인을 저장 및 업데이트하는 단계는,
    상기 제 1 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함하는 방법.
  8. 제 6 항에 있어서,
    상기 제 1 데이터 블록을 상기 네트워크를 통해 전송함으로써 상기 제 1 데이터 블록을 다른 노드들에 공유하는 단계를 더 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 데이터 블록들은 제 2 데이터 블록을 포함하되,
    상기 블록 체인을 저장 및 업데이트하는 단계는,
    상기 복수의 노드들 중 어느 하나로부터 상기 제 2 데이터 블록을 수신하는 단계를 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 블록 체인을 저장 및 업데이트하는 단계는,
    상기 제 2 데이터 블록을 검증하는 단계; 및
    상기 검증 결과에 따라 상기 제 2 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함하는 방법.
  11. 제 1 항에 있어서,
    상기 연락처는 전화기로서 기능하는 장치에 할당되어 있는 전화번호인 방법.
  12. 네트워크를 통해 복수의 노드들과 통신하여 데이터를 관리하고 검색하는 방법에 있어서:
    순차적으로 링크되는 제 1 내지 제 N 데이터 블록들을 포함하는 블록 체인을 저장하되, 상기 제 1 내지 제 N 데이터 블록들 각각은 연락처들 및 상기 연락처들에 대응하는 정보들을 포함하고 상기 N은 1보다 큰 정수인, 단계;
    연락처를 포함하는 요청 메시지를 수신하는 단계;
    상기 제 1 내지 제 N 데이터 블록들 중 제 N-K 내지 제 N 데이터 블록들에서 상기 연락처를 검색하되, 상기 K는 1보다 크고 N보다 작은 정수인, 단계; 및
    상기 연락처의 검색이 성공할 때, 상기 제 N-K 내지 제 N 데이터 블록들로부터 추출되는 상기 연락처에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함하되,
    상기 제 N 데이터 블록은 상기 블록 체인의 가장 높은 데이터 블록이고, 상기 제 1 데이터 블록은 상기 블록 체인의 가장 낮은 데이터 블록인 방법.
  13. 삭제
  14. 제 12 항에 있어서,
    상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 연락처들에 대응하는 정보들은 상기 연락처들에 대한 평판들을 포함하는 방법.
  15. 제 12 항에 있어서,
    상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 연락처들에 대응하는 정보들은 상기 연락처들에 대한 코멘트를 포함하는 방법.
  16. 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치에 있어서:
    상기 네트워크와 통신하는 통신기; 및
    상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되,
    상기 적어도 하나의 프로세서는,
    상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 데이터베이스에 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 연락처 및 상기 적어도 하나의 연락처에 대응하는 정보를 포함하고;
    상기 통신기를 통해 연락처를 포함하는 요청 메시지를 수신하고;
    상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 일부에서 상기 연락처를 검색하고;
    상기 연락처의 검색이 성공할 때, 상기 데이터 블록들의 상기 일부로부터 추출되는 상기 검색된 연락처에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 상기 통신기를 통해 제공하도록 구성되되,
    상기 연락처를 검색하는 단계는 상기 블록 체인의 상기 데이터 블록들 중 가장 높은 데이터 블록과 상기 가장 높은 데이터 블록에 순차적으로 링크된 데이터 블록들에서 상기 연락처를 검색하는 단계를 포함하는 컴퓨터 장치.
  17. 제 1 항에 있어서,
    상기 피드백 정보를 제공하는 단계는,
    상기 데이터 블록들 중 제 1 데이터 블록 및 제 2 데이터 블록에서 상기 연락처가 검색될 때, 상기 제 1 데이터 블록에 포함된 상기 검색된 연락처에 대응하는 정보에 제 1 가중치가 부여된 값과 상기 제 2 데이터 블록에 포함된 상기 검색된 연락처에 대응하는 정보에 제 2 가중치가 부여된 값을 연산하여 상기 피드백 정보를 생성하는 단계를 포함하며,
    상기 제 2 데이터 블록은 상기 제 1 데이터 블록보다 상기 가장 높은 데이터 블록에 인접하도록 링크되고,
    상기 제 2 가중치는 상기 제 1 가중치보다 높은 방법.
  18. 제 16 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 데이터 블록들 중 제 1 데이터 블록 및 제 2 데이터 블록에서 상기 연락처가 검색될 때, 상기 제 1 데이터 블록에 포함된 상기 검색된 연락처에 대응하는 정보에 제 1 가중치가 부여된 값과 상기 제 2 데이터 블록에 포함된 상기 검색된 연락처에 대응하는 정보에 제 2 가중치가 부여된 값을 연산하여 상기 피드백 정보를 생성하며,
    상기 제 2 데이터 블록은 상기 제 1 데이터 블록보다 상기 가장 높은 데이터 블록에 인접하도록 링크되고,
    상기 제 2 가중치는 상기 제 1 가중치보다 높은 컴퓨터 장치.
KR1020170156350A 2017-11-22 2017-11-22 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치 KR102062535B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170156350A KR102062535B1 (ko) 2017-11-22 2017-11-22 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170156350A KR102062535B1 (ko) 2017-11-22 2017-11-22 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치

Publications (2)

Publication Number Publication Date
KR20190058922A KR20190058922A (ko) 2019-05-30
KR102062535B1 true KR102062535B1 (ko) 2020-01-06

Family

ID=66675696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170156350A KR102062535B1 (ko) 2017-11-22 2017-11-22 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치

Country Status (1)

Country Link
KR (1) KR102062535B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557266B (zh) * 2019-09-06 2022-08-19 腾讯科技(深圳)有限公司 寻人启事发布方法、装置、设备和计算机可读存储介质
KR102124942B1 (ko) * 2019-10-07 2020-06-19 신호열 블록체인 데이터 검색 방법
KR102304138B1 (ko) * 2019-12-18 2021-09-17 충남대학교산학협력단 웹 사이트 이용 기록 관리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781583B1 (ko) * 2016-08-31 2017-09-27 서강대학교산학협력단 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781583B1 (ko) * 2016-08-31 2017-09-27 서강대학교산학협력단 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법

Also Published As

Publication number Publication date
KR20190058922A (ko) 2019-05-30

Similar Documents

Publication Publication Date Title
KR102062896B1 (ko) 네트워크 내의 분산 데이터베이스를 위한 방법 및 장치
EP3655905B1 (en) Distributed ledger technology
EP3438903A1 (en) Hierarchical network system, and node and program used in same
US20160342977A1 (en) Device, method and system for virtual asset transactions
Hazari et al. Comparative evaluation of consensus mechanisms in cryptocurrencies
Alqassem et al. Towards reference architecture for cryptocurrencies: Bitcoin architectural analysis
US20210160077A1 (en) Methods and systems for a consistent distributed memory pool in a blockchain network
KR102062535B1 (ko) 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치
CN110852870A (zh) 一种虚拟资源转移方法、装置、设备及可读存储介质
US20240095722A1 (en) Distributed ledger technology utilizing asset tracking
CN111095863A (zh) 在区块链网络上通信、存储和处理数据的基于区块链的系统和方法
KR20220139871A (ko) 블록체인 네트워크에서 사용하기 위한 증명 서비스
CN111488610A (zh) 基于业务数据区块链的状态数据查询方法及装置
KR102109201B1 (ko) 사용자 단말기들 사이의 게임 아이템 거래를 중개하는 네트워크 서버 및 그것의 동작 방법
CN111488344A (zh) 基于业务数据区块链的用户操作数据上链方法及系统
Ji et al. A personal information management using blockchain
TW202308351A (zh) 電腦實施方法及系統
US11782883B1 (en) Systems and methods for managing personalized life information
CN111737729A (zh) 基于业务数据区块链的评价数据存储方法及系统
CN111695132A (zh) 基于业务数据区块链的投票数据存储方法及系统
CN114004456B (zh) 数据标签的计算方法、装置、计算机设备和存储介质
CN110889040B (zh) 用于推送信息的方法和装置
US20240106670A1 (en) Headers client for determining the best chain
CN112883038B (zh) 一种基于区块链的数据管理方法、计算机及可读存储介质
US11443064B2 (en) Verifiable removal of item of confidential information from data of a record

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant