KR20190058922A - Data management and search method of each of nodes communicating each other and computer device operating as one of nodes - Google Patents

Data management and search method of each of nodes communicating each other and computer device operating as one of nodes Download PDF

Info

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

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

Abstract

According to an embodiment of the present invention, provided is a method for managing and searching data in any one of a plurality of nodes communicating with each other through a network. The method comprises the steps of: storing and updating a block chain by linking data blocks generated in a plurality of nodes, wherein each of the data blocks includes at least one contact and information corresponding to at least one contact; receiving a request message including a contact; searching a contact from at least a portion of the data blocks of the block chain in response to the request message; and providing feedback information for the request message in accordance with information corresponding to the searched contact extracted from at least a portion of the data blocks, when the search of the contact is successful.

Description

네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 노드들 중 어느 하나로 동작하는 컴퓨터 장치{DATA MANAGEMENT AND SEARCH METHOD OF EACH OF NODES COMMUNICATING EACH OTHER AND COMPUTER DEVICE OPERATING AS ONE OF NODES}TECHNICAL FIELD [0001] The present invention relates to a data management and search method for each of nodes communicating with each other through a network, and a computer apparatus operating with any one of the nodes. [0002]

본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 네트워크를 통해 서로 통신하는 노드들 각각의 데이터 관리 및 검색 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to electronic devices, and more particularly, to a method of managing and retrieving data for each of the nodes communicating with each other via a network, and to a computer apparatus operating with any one of such nodes.

블록 체인은 다수의 참여자들에게 데이터를 공유하여 데이터의 위조를 막는 방식을 사용한다. 블록 체인은 대표적인 온라인 가상 화폐인 비트코인에 적용될 수 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 기록하며, 비트코인을 사용하는 다수의 참여자들이 정해진 시간 간격으로 거래 내역을 검증하여 해킹을 막는다. 즉, 블록 체인은 모든 네트워크 참여자가 거래 내역을 공유 및 보관하는 분권형(decentralized) 구조를 포함한다. 2008년에 공개된 사토시 나카모토(Satoshi Nakamoto)의 논문 “비트코인: 피어-투-피어 전자화폐 시스템(Bitcoin: A Peer-to-Peer Electronic Cash System)”에는 중앙의 금융 기관이 개입되지 않은 P2P 방식의 전자 화폐가 제시되어 있으며, 암호학적 기능(cryptographic function)을 이용한 화폐의 중복 사용(double spending) 문제를 해결하고, 이에 참여하는 분권화된 노드들이 채굴(mining) 과정을 통해 인센티브를 지급 받는 방식이 제시되어 있다.The block chain uses a method of sharing data with a large number of participants to prevent counterfeiting of data. The block chain can be applied to a bit coin, which is a typical online virtual currency. Bit coin records transactions on a book that anyone can read, and many participants who use bit coin verify transaction details at a set time interval to prevent hacking. That is, the block chain includes a decentralized structure in which all network participants share and store transaction details. Satoshi Nakamoto's paper entitled "Bitcoin: A Peer-to-Peer Electronic Cash System," published in 2008, describes a P2P system that does not involve central financial institutions And a method of solving the problem of double spending by using a cryptographic function and receiving incentives through decentralized nodes participating in the mining process .

종래의 전화번호에 대한 정보를 제공하는 방식은 중앙 집중형 서버를 이용한 클라우드에 데이터를 저장 및 관리하며, 사용자들은 클라우드에 접속하여 데이터를 요청 혹은 검색한다. 이러한 방식은 대용량의 저장 장치가 요구될 뿐만 아니라 이를 관리하기 위한 중앙 집중형 서버가 요구되고, 이는 시스템의 설계 및 유지를 복잡하게 하는 문제점을 내포한다.The conventional method of providing information on a telephone number stores and manages data in a cloud using a centralized server, and users access the cloud to request or retrieve data. This method not only requires a large-capacity storage device but also requires a centralized server for managing the system, which complicates the design and maintenance of the system.

위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.It should be understood that the above description is intended to assist the understanding of the background of the technical ideas of the present invention only and thus it can not be understood that it corresponds to the prior art known to those skilled in the art.

본 발명의 실시 예들은 전화번호들에 대한 정보들을 저장하는 데이터베이스가 위조 또는 변조되는 것을 방지 하고, 데이터베이스로부터 사용자에게 제공되는 정보가 높은 신뢰성을 갖도록 하기 위한 것이다. 예를 들면, 전화번호들에 대한 정보들은 블록 체인에 저장될 수 있다.Embodiments of the present invention are intended to prevent a database storing information about telephone numbers from being falsified or altered and to ensure that the information provided to the user from the database is highly reliable. For example, information about phone numbers may be stored in a block chain.

본 발명의 실시 예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 데이터를 관리하고 검색하는 방법은: 상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 전화번호 및 상기 적어도 하나의 전화번호에 대응하는 정보를 포함하는, 단계; 전화번호를 포함하는 요청 메시지를 수신하는 단계; 상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 적어도 일부에서 상기 전화번호를 검색하는 단계; 및 상기 전화번호의 검색이 성공할 때, 상기 데이터 블록들의 상기 적어도 일부로부터 추출되는 상기 검색된 전화번호에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함한다.A method for managing and searching data in any one of a plurality of nodes communicating with each other through a network according to an embodiment of the present invention includes: storing and updating a block chain by linking data blocks generated in the plurality of nodes Each of the data blocks including at least one telephone number and information corresponding to the at least one telephone number; Receiving a request message including a telephone number; In response to the request message, retrieving the telephone number from at least a portion of the data blocks of the block chain; And providing feedback information for the request message according to information corresponding to the retrieved telephone number extracted from the at least a portion of the data blocks when the retrieval of the telephone number is successful.

상기 전화번호를 검색하는 단계는, 상기 블록 체인의 상기 데이터 블록들 중 가장 높은 데이터 블록과 상기 가장 높은 데이터 블록에 순차적으로 링크된 소정 수의 데이터 블록들에서 상기 전화번호를 검색하는 단계를 포함할 수 있다.The step of retrieving the telephone number may include retrieving the telephone number from a highest data block of the data blocks of the block chain and a predetermined number of data blocks sequentially linked to the highest data block .

상기 데이터 블록들은 각각 타임 스탬프들을 포함하되, 상기 전화번호를 검색하는 단계는, 상기 블록 체인의 상기 데이터 블록들 중 소정 시간 내에 속하는 타임 스탬프들을 갖는 데이터 블록들에서 상기 전화번호를 검색하는 단계를 포함할 수 있다.The data blocks each including time stamps, wherein the step of retrieving the telephone number comprises retrieving the telephone number from data blocks having time stamps that fall within a predetermined time of the data blocks of the block chain can do.

상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 전화번호에 대응하는 상기 정보는 상기 적어도 하나의 전화번호에 대한 평판을 포함할 수 있다.The information corresponding to the at least one telephone number included in each of the data blocks may include a reputation for the at least one telephone number.

상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 전화번호에 대응하는 상기 정보는 상기 적어도 하나의 전화번호에 대한 코멘트를 포함할 수 있다.The information corresponding to the at least one telephone number included in each of the data blocks may include a comment for the at least one telephone number.

상기 데이터 블록들은 제 1 데이터 블록을 포함하되, 상기 블록 체인을 저장 및 업데이트하는 단계는, 사용자 단말기들로부터 전화번호들과 관련하여 수신되는 정보들을 수집하는 단계; 및 상기 수집된 정보들을 이용하여 상기 제 1 데이터 블록을 생성하는 단계를 포함할 수 있다.Wherein the data blocks include a first data block, wherein storing and updating the block chain comprises: collecting information received from user terminals in connection with telephone numbers; And generating the first data block using the collected information.

상기 블록 체인을 저장 및 업데이트하는 단계는, 상기 제 1 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함할 수 있다.The step of storing and updating the block chain may further comprise updating the block chain by linking the first data block to the block chain.

상기 제 1 데이터 블록을 상기 네트워크를 통해 전송함으로써 상기 제 1 데이터 블록을 다른 노드들에 공유하는 단계를 더 포함할 수 있다.And sharing the first data block with other nodes by transmitting the first data block through the network.

상기 데이터 블록들은 제 2 데이터 블록을 포함하되, 상기 블록 체인을 저장 및 업데이트하는 단계는, 상기 복수의 노드들 중 어느 하나로부터 상기 제 2 데이터 블록을 수신하는 단계를 포함할 수 있다.The data blocks including a second data block, wherein storing and updating the block chain may include receiving the second data block from any one of the plurality of nodes.

상기 블록 체인을 저장 및 업데이트하는 단계는, 상기 제 2 데이터 블록을 검증하는 단계; 및 상기 검증 결과에 따라 상기 제 2 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함할 수 있다.Wherein storing and updating the block chain comprises: verifying the second data block; And updating the block chain by linking the second data block to the block chain according to the verification result.

본 발명의 실시 예에 따른 네트워크를 통해 복수의 노드들과 통신하여 데이터를 관리하고 검색하는 방법은: 순차적으로 링크되는 제 1 내지 제 N 데이터 블록들을 포함하는 블록 체인을 저장하되, 상기 제 1 내지 제 N 데이터 블록들 각각은 전화번호들 및 상기 전화번호들에 대응하는 정보들을 포함하고 상기 N은 1보다 큰 정수인, 단계; 전화번호를 포함하는 요청 메시지를 수신하는 단계; 상기 제 N-K 내지 제 N 데이터 블록들에서 상기 전화번호를 검색하되, 상기 K는 1보다 크고 N보다 작은 정수인, 단계; 및 상기 전화번호의 검색이 성공할 때, 상기 제 N-K 내지 제 N 데이터 블록들로부터 추출되는 상기 전화번호에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함한다.A method for managing and retrieving data by communicating with a plurality of nodes through a network according to an embodiment of the present invention includes: storing a block chain including first through Nth data blocks sequentially linked, Each of the N th data blocks including telephone numbers and information corresponding to the telephone numbers, wherein N is an integer greater than one; Receiving a request message including a telephone number; Searching for the telephone number in the N-Kth to Nth data blocks, where K is an integer greater than 1 and less than N; And providing feedback information on the request message according to information corresponding to the telephone number extracted from the N-Kth to Nth data blocks when the retrieval of the telephone number is successful.

상기 제 N 데이터 블록은 상기 블록 체인의 가장 높은 데이터 블록이고, 상기 제 1 데이터 블록은 상기 블록 체인의 가장 낮은 데이터 블록일 수 있다.The Nth data block may be the highest data block of the block chain and the first data block may be the lowest data block of the block chain.

상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 전화번호들에 대응하는 정보들은 상기 전화번호들에 대한 평판들을 포함할 수 있다.The information corresponding to the telephone numbers included in each of the first to Nth data blocks may include reputations for the telephone numbers.

상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 전화번호들에 대응하는 정보들은 상기 전화번호들에 대한 코멘트를 포함할 수 있다.The information corresponding to the telephone numbers included in each of the first to Nth data blocks may include a comment on the telephone numbers.

본 발명의 다른 일면은 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치에 관한 것이다. 본 발명의 실시 예에 따른 컴퓨터 장치는: 상기 네트워크와 통신하는 통신기; 및 상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되, 상기 적어도 하나의 프로세서는, 상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 데이터베이스에 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 전화번호 및 상기 적어도 하나의 전화번호에 대응하는 정보를 포함하고; 상기 통신기를 통해 전화번호를 포함하는 요청 메시지를 수신하고; 상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 적어도 일부에서 상기 전화번호를 검색하고; 상기 전화번호의 검색이 성공할 때, 상기 데이터 블록들의 상기 적어도 일부로부터 추출되는 상기 검색된 전화번호에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 상기 통신기를 통해 제공하도록 구성된다.Another aspect of the invention relates to a computer apparatus operating as any one of a plurality of nodes communicating with each other via a network. A computer apparatus according to an embodiment of the present invention comprises: a communicator for communicating with the network; And at least one processor coupled to the communicator, wherein the at least one processor links data blocks generated at the plurality of nodes to store and update a block chain in a database, At least one telephone number and information corresponding to the at least one telephone number; Receive a request message including a telephone number via the communicator; In response to the request message, retrieving the telephone number from at least a portion of the data blocks of the block chain; And provide feedback information for the request message via the communicator according to information corresponding to the retrieved telephone number extracted from the at least a portion of the data blocks when the retrieval of the telephone number is successful.

본 발명의 실시 예들은 전화번호들에 대한 정보들을 저장하는 데이터베이스가 위조 또는 변조되는 것을 방지 하고, 데이터베이스로부터 사용자에게 제공되는 정보가 높은 신뢰성을 갖도록 한다.Embodiments of the present invention prevent a database that stores information about phone numbers from being falsified or altered, and ensure that the information provided to the user from the database is highly reliable.

도 1은 본 발명의 실시 예들이 적용될 수 있는 블록 체인 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 블록 체인을 보여주는 개념도이다.
도 3은 도 2의 블록 체인의 데이터 블록들 중 일부를 좀 더 구체적으로 보여주는 개념도이다.
도 4는 본 발명의 실시 예에 따른 복수의 노드들 중 어느 하나에서 블록 체인을 업데이트하는 방법을 보여주는 순서도이다.
도 5는 도 4의 S110단계에서 수집되는 정보를 보여주는 도면이다.
도 6은 도 4의 S130단계에서 생성되는 데이터 블록의 일 예를 보여주는 개념도이다.
도 7은 도 4의 S130단계에서 생성되는 데이터 블록의 다른 예를 보여주는 개념도이다.
도 8은 복수의 노드들 중 어느 하나에서 블록 체인을 업데이트하는 방법의 다른 실시 예를 보여주는 순서도이다.
도 9는 본 발명의 실시 예에 따른 복수의 노드들 중 어느 하나에서 전화번호에 대한 정보를 제공하는 방법을 보여주는 순서도이다.
도 10은 도 9의 S330단계의 실시 예를 보여주는 순서도이다.
도 11은 블록 체인에 포함되는 데이터 블록들을 보여주는 개념도이다.
도 12는 도 1의 복수의 노드들 중 어느 하나에 적합한 예시적인 컴퓨터 장치를 보여주는 블록도이다.
Figure 1 is a block diagram illustrating a block chain system to which embodiments of the present invention may be applied.
2 is a conceptual diagram showing a block chain according to an embodiment of the present invention.
FIG. 3 is a conceptual diagram showing a part of the data blocks of the block chain of FIG. 2 in more detail.
4 is a flowchart illustrating a method for updating a block chain in any one of a plurality of nodes according to an embodiment of the present invention.
FIG. 5 is a view showing information collected in step S110 of FIG.
6 is a conceptual diagram illustrating an example of a data block generated in step S130 of FIG.
7 is a conceptual diagram showing another example of a data block generated in step S130 of FIG.
8 is a flowchart showing another embodiment of a method of updating a block chain at any one of a plurality of nodes.
9 is a flowchart illustrating a method of providing information on a telephone number in any one of a plurality of nodes according to an embodiment of the present invention.
FIG. 10 is a flowchart showing an embodiment of step S330 of FIG.
11 is a conceptual diagram showing data blocks included in a block chain.
12 is a block diagram illustrating an exemplary computing device suitable for any of the plurality of nodes of FIG.

이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, only parts necessary for understanding the operation according to the present invention will be described, and descriptions of other parts will be omitted in order to avoid obscuring the gist of the present invention. Further, the present invention is not limited to the embodiments described herein but may be embodied in other forms. The embodiments described herein are provided to enable those skilled in the art to easily understand the technical ideas of the present invention.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "indirectly connected" . Throughout the specification, when an element is referred to as " comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

도 1은 본 발명의 실시 예들이 적용될 수 있는 블록 체인 시스템(100)을 보여주는 블록도이다.1 is a block diagram illustrating a block chain system 100 to which embodiments of the present invention may be applied.

도 1을 참조하면 블록 체인 시스템(100)은 복수의 노드들(110-170)로 이루어진 분권형 네트워크(decentralized network) 시스템이다. 분권형 네트워크를 구성하는 노드들(110-170)은 컴퓨터, 이동 단말기, 전용 전자 장치 등 계산 능력을 갖는 전자 장치들이다.Referring to FIG. 1, a block-chain system 100 is a decentralized network system consisting of a plurality of nodes 110-170. The nodes 110-170 constituting the decentralized network are electronic devices having computational capabilities such as computers, mobile terminals, dedicated electronic devices, and the like.

블록 체인 시스템(100)은 블록 체인(block chain)이라 불리는 데이터 블록들의 연결 묶음 내에 모든 노드들(110~170)에 공통으로 알려진 정보를 저장할 수 있다. 복수의 노드들(110~170) 각각은 상호간 통신을 수행하여 동일한 데이터 블록들을 포함하는 동일한 블록 체인을 저장할 수 있다. 복수의 노드들(110-170)은 블록 체인을 저장하고, 신규 데이터 블록을 생성 및 전파하고, 수신된 신규 데이터 블록을 검증하고, 신규 데이터 블록을 블록 체인에 포함시켜 블록 체인을 업데이트하는 완전 노드(full node)일 수 있다. The block chain system 100 may store information commonly known to all the nodes 110 to 170 in a connection bundle of data blocks called block chains. Each of the plurality of nodes 110 to 170 may communicate with each other to store the same block chain including the same data blocks. The plurality of nodes 110-170 may store a block chain, generate and propagate a new data block, verify the received new data block, and store the new data block in a block chain, (full node).

블록 체인에 포함된 데이터 블록들 각각은 연락처와 연락처에 대한 정보를 포함한다. 예를 들면, 각 데이터 블록은 특정 연락처에 대한 평판, 특정 연락처가 스팸인지 아닌지를 나타내는 정보, 연락처에 대한 코멘트(예를 들면 해당 업체의 정보) 등 연락처에 대한 다양한 정보들을 포함할 수 있다. 여기에서, 연락처는 사용자 장치들 사이의 통신을 위해 특정된 어드레스이다. 예를 들면 사용자 장치가 전화기로서 기능할 때 연락처는 그 사용자 장치에 할당되어 있는 전화번호일 수 있다. 다른 예로서, 사용자 장치가 인터넷과 통신 가능하여 인터넷 전화로서 기능할 때 연락처는 인터넷 상 그 사용자 장치의 위치를 나타내는 어드레스일 수 있다. 연락처는 사용자 장치들 사이의 통신을 위해 다양한 방식들에 따라 특정될 수 있다. 이하, 설명의 편의를 위해, 블록 체인에 포함된 데이터 블록들 각각이 전화번호와 전화번호에 대한 정보를 포함하는 실시 예들을 설명한다.Each of the data blocks contained in the block chain contains information about the contact and the contact. For example, each data block may contain a variety of information about the contact, such as reputation for a particular contact, information indicating whether a particular contact is spam or not, and comments about the contact (e.g. Here, the contact is an address specified for communication between user devices. For example, when the user device functions as a telephone, the contact may be a telephone number assigned to the user device. As another example, when the user device communicates with the Internet and functions as an Internet phone, the contact may be an address that indicates the location of the user device on the Internet. A contact may be specified in various ways for communication between user devices. Hereinafter, for convenience of description, embodiments in which each of the data blocks included in the block chain include information on a telephone number and a telephone number will be described.

한편, 위에서 노드들(110~170)이 완전 노드들이라고 설명되었다. 그러나, 본 발명의 실시 예들은 여기에 한정되지 않는다. 복수의 노드들(110~170) 중 적어도 일부는 전화번호에 대한 정보, 예를 들면 전화번호에 대한 평가, 전화번호에 대한 코멘트 등을 완전 노드에 제공하는 간이 노드(light node)일 수 있다. 예를 들면, 간이 노드는 사용자로부터 전화번호에 대한 정보를 입력받는 사용자 인터페이스, 그리고 입력된 정보를 다른 노드에 전송하는 통신 모듈을 포함할 수 있다.On the other hand, it has been described above that the nodes 110 to 170 are complete nodes. However, the embodiments of the present invention are not limited thereto. At least a portion of the plurality of nodes 110-170 may be a light node that provides information about the telephone number, such as an evaluation of the telephone number, a comment on the telephone number, etc., to the complete node. For example, the simple node may include a user interface for receiving information on a telephone number from a user, and a communication module for transmitting the input information to another node.

복수의 노드들(110~170) 각각은 데이터 블록을 생성할 때마다 생성된 신규 데이터 블록을 다른 노드들에 공유하며, 이에 따라 복수의 노드들(110~170)은 동일한 데이터 블록들을 포함하는 동일한 블록 체인을 저장할 수 있다. 신규 데이터 블록을 수신한 데이터 블록들은 해당 데이터 블록을 검증하여 신규 데이터 블록을 블록 체인에 포함시킬지 여부를 합의할 수 있다. 검증 결과에 따라, 복수의 노드들(110~170)은 블록 체인을 업데이트할 수 있다. 이러한 방식으로 복수의 노드들(110~170)은 동일한 블록 체인을 저장할 수 있다.Each of the plurality of nodes 110 to 170 shares a new data block generated each time it generates a block of data with other nodes so that the plurality of nodes 110 to 170 can store the same data blocks You can store block chains. The data blocks receiving the new data block may verify the corresponding data block to agree whether to include the new data block in the block chain. According to the verification result, the plurality of nodes 110 to 170 can update the block chain. In this way, the plurality of nodes 110 to 170 can store the same block chain.

도 2는 본 발명의 실시 예에 따른 블록 체인(200)을 보여주는 개념도이다.2 is a conceptual diagram showing a block chain 200 according to an embodiment of the present invention.

도 2를 참조하면 블록 체인(200)은 순차적으로 연결된 데이터 블록들(210~230)을 포함한다. 블록 체인(200)은, 블록 체인 시스템(100)에 포함된 각 노드가 신규 데이터 블록을 생성하고, 생성된 신규 데이터 블록을 공유하고, 공유된 데이터 블록을 블록 체인(200)에 링크함으로써 생성된다. 도 2에는 3개의 데이터 블록들(210~230)이 예시적으로 도시되어 있으나, 블록 체인(100)에 포함될 수 있는 데이터 블록들의 수는 이에 제한되지 않는다.Referring to FIG. 2, the block chain 200 includes sequentially connected data blocks 210 to 230. The block chain 200 is created by each node included in the block chain system 100 by creating a new data block, sharing the generated new data block, and linking the shared data block to the block chain 200 . Although three data blocks 210-230 are illustrated in FIG. 2 by way of example, the number of data blocks that may be included in the block chain 100 is not limited thereto.

데이터 블록들(210~230) 각각은 블록 헤더(BH)와 블록 바디(BB)를 포함한다. 블록 헤더(BH)는 데이터 블록들 사이의 연결 관계를 나타내기 위해 이전 데이터 블록의 해시값을 포함할 수 있다. 예를 들면, 제 N-1 데이터 블록(220)의 블록 헤더(BH)는 이전 데이터 블록(210)의 블록 헤더(BH)에 포함된 해시값을 포함한다. 블록 체인(200)이 유효한지 검증하는 과정에서 블록 헤더(BH) 내에 포함된 해시값이 사용될 수 있다. 블록 바디(BB)는 전화번호 및 전화번호에 대한 정보를 포함할 수 있다.Each of the data blocks 210 to 230 includes a block header BH and a block body BB. The block header BH may include the hash value of the previous data block to indicate the connection relationship between the data blocks. For example, the block header BH of the (N-1) -th data block 220 includes a hash value contained in the block header BH of the previous data block 210. The hash value included in the block header BH may be used in the process of verifying that the block chain 200 is valid. The block body BB may include information on a telephone number and a telephone number.

도 3은 도 2의 블록 체인(200)의 데이터 블록들 중 일부를 좀 더 구체적으로 보여주는 개념도이다.FIG. 3 is a conceptual diagram showing a part of the data blocks of the block chain 200 of FIG. 2 in more detail.

도 2 및 도 3을 참조하면, 각 데이터 블록의 블록 헤더(BH)는 이전 데이터 블록의 해시값(221, 231), 현재 데이터 블록의 해시값(222, 232), 및 바디의 해시값(223, 233)를 포함할 수 있다. 2 and 3, the block header BH of each data block includes hash values 221 and 231 of the previous data block, hash values 222 and 232 of the current data block, and hash values 223 of the body , 233).

데이터 블록들(210~230)은 해시값들에 기초하여 연결된다. 제 N 데이터 블록(230)의 블록 헤더(BH)에 포함된 이전 데이터 블록의 해시값(231)은 이전 데이터 블록인 제 N-1 데이터 블록(220)의 블록 헤더(BH)에 포함된 현재 데이터 블록의 해시값(222)과 동일한 값이다. 이와 같이, 각 데이터 블록은 블록 헤더(BH) 내에 이전 데이터 블록의 해시값을 포함함으로써 연쇄적으로 연결된다. 블록 체인 시스템(100)에 참여하는 노드들(110~170)은 데이터 블록들(210~230) 각각에 포함된 이전 데이터 블록의 해시값에 기반하여 데이터 블록들(210~230)의 유효성을 검증할 수 있다. 이에 따라, 이미 생성되어 블록 체인(200)에 포함되어 있는 데이터 블록의 내용을 위조 또는 변조하기는 상당히 어렵다.The data blocks 210 to 230 are connected based on the hash values. The hash value 231 of the previous data block included in the block header BH of the Nth data block 230 is the same as the hash value 231 of the current data included in the block header BH of the N- Is equal to the hash value 222 of the block. As such, each data block is cascaded by including the hash value of the previous data block in the block header BH. The nodes 110 to 170 participating in the block chain system 100 verify the validity of the data blocks 210 to 230 based on the hash value of the previous data block included in each of the data blocks 210 to 230 can do. Thus, it is considerably difficult to falsify or modulate the contents of the data block already generated and included in the block chain 200.

블록 헤더(BH)의 바디의 해시값(223, 233)은 해당 블록 바디(BB)의 헤더를 나타낼 수 있다.The hash values 223 and 233 of the body of the block header BH may indicate the header of the corresponding block body BB.

블록 헤더(BH)는 추가 데이터(224, 234) 필드를 더 포함할 수 있다. 예를 들면, 추가 데이터(224, 234)는 해당 데이터 블록이 생성된 시점을 나타내는 타임 스탬프를 포함할 수 있다.The block header BH may further include additional data fields 224, 234. For example, the additional data 224, 234 may include a timestamp indicating the time at which the data block was created.

블록 바디(BB)는 전화번호들에 대한 정보들을 포함한다. 복수의 노드들(110~170)은 동일한 데이터 블록들(210~230)을 저장하고 있다. 복수의 노드들(110~170) 중 임의의 노드(예를 들면 110)에 저장된 데이터 블록들(210~230)이 위조 또는 변조된다 하더라도, 해당 노드에 저장된 데이터 블록들(210~230)은 다른 노드들의 데이터 블록들(210~230)과 다르므로, 위조 또는 변조는 쉽게 판별될 수 있다. 이에 따라, 데이터 블록들(210~230)의 블록 바디들(BB) 내 전화번호들에 대한 정보들은 임의로 변경되기 어렵고, 그러므로 상대적으로 높은 신뢰성을 갖는다.The block body BB contains information on telephone numbers. The plurality of nodes 110 to 170 store the same data blocks 210 to 230. Even if the data blocks 210 to 230 stored in any one of the plurality of nodes 110 to 170 are falsified or modulated, the data blocks 210 to 230 stored in the corresponding node are different from each other Because it is different from the data blocks 210-230 of the nodes, falsification or modulation can be easily determined. Accordingly, the information on the telephone numbers in the block bodies BB of the data blocks 210 to 230 is hardly arbitrarily changed, and therefore, has a relatively high reliability.

만약 특정 관리자에 의해 관리되는 중앙 서버에 전화번호들에 대한 정보들이 저장된다면, 해당 관리자의 필요에 따라 임의로 전화번호들에 대응하는 정보들이 조작될 수 있다. 반면, 본 발명의 실시 예에 따르면, 블록 체인(200)에 전화번호들에 대한 정보들을 저장함으로써 그 정보들이 복수의 노드들(110~170)에 의해 공유되고, 따라서 누군가에 의해 전화번호에 대응하는 정보가 자의적으로 변경될 가능성은 감소할 수 있다. 나아가, 앞서 설명된 바와 같이, 복수의 노드들(110~170) 각각은 데이터 블록들(210~230) 각각에 포함된 이전 데이터 블록의 해시값에 기반하여 각 데이터 블록의 유효성을 검증할 수 있으므로, 누군가에 의해 이미 생성된 데이터 블록의 내용, 예를 들면 블록 바디(BB) 내 전화번호들에 관한 정보들이 위조 또는 변조되기는 어렵다. 이에 따라, 블록 체인(200)에 저장된 전화번호들에 관한 정보들은 높은 신뢰성을 가질 수 있다.If information about phone numbers is stored in a central server managed by a specific manager, information corresponding to phone numbers can be arbitrarily manipulated according to the needs of the manager. On the other hand, according to the embodiment of the present invention, by storing information on telephone numbers in the block chain 200, the information is shared by the plurality of nodes 110 to 170, The possibility of the information being changed arbitrarily may be reduced. Further, as described above, each of the plurality of nodes 110 to 170 can verify the validity of each data block based on the hash value of the previous data block included in each of the data blocks 210 to 230 , It is difficult for the contents of the data block already created by somebody, for example, the information about the telephone numbers in the block body BB, to be falsified or altered. Accordingly, the information on the telephone numbers stored in the block chain 200 can have high reliability.

도 4는 본 발명의 실시 예에 따른 복수의 노드들(110~170) 중 어느 하나에서 블록 체인(200)을 업데이트하는 방법을 보여주는 순서도이다. 도 5는 도 4의 S110단계에서 수집되는 정보를 보여주는 도면이다. 도 6은 도 4의 S130단계에서 생성되는 데이터 블록의 일 예를 보여주는 개념도이다. 도 7은 도 4의 S130단계에서 생성되는 데이터 블록의 다른 예를 보여주는 개념도이다.4 is a flowchart illustrating a method of updating a block chain 200 in any one of a plurality of nodes 110 to 170 according to an embodiment of the present invention. FIG. 5 is a view showing information collected in step S110 of FIG. 6 is a conceptual diagram illustrating an example of a data block generated in step S130 of FIG. 7 is a conceptual diagram showing another example of a data block generated in step S130 of FIG.

도 4를 참조하면, S110단계에서, 전화번호들과 관련하여 정보들이 수집된다. 실시 예로서, 노드와 통신하는 사용자 단말기들 각각은 사용자로부터 전화번호와 관련하여 입력되는 정보, 예를 들면 전화번호에 대한 평가 및 코멘트를 수신하고, 수신된 정보를 노드에 전송할 수 있다.Referring to FIG. 4, in step S110, information is collected in relation to telephone numbers. As an embodiment, each of the user terminals communicating with the node may receive ratings and comments on information entered in connection with the telephone number, for example a telephone number, from the user, and may transmit the received information to the node.

좀 더 구체적으로 설명하면, 사용자는 전화번호가 스팸 전화번호인지 아닌지 여부를 평가할 수 있다. 예를 들면, 사용자는 착신 전화번호에 대한 평가로 “좋아요(like)” 또는 “싫어요(unlike)”를 입력할 수 있으며, 사용자 단말기는 입력된 평가를 노드에 전달할 수 있다. 다른 예로서, 사용자 단말기로 임의의 전화번호로부터 전화가 걸려올 때 사용자가 수신을 거부하면, 사용자 단말기는 해당 전화번호에 대한 평가로 “싫어요(unlike)”를 노드에 알릴 수 있다. 이 밖에도, 사용자 단말기는 다양한 방식들로 사용자에 의해 야기되는 전화번호와 관련된 정보를 수신하고 수신된 정보를 노드에 전달할 수 있다. 또 다른 실시 예로서, 노드가 사용자가 사용하는 컴퓨터 장치, 예를 들면 이동 단말기나 퍼스널 컴퓨터인 경우, 노드는 해당 사용자에 의해 야기되는 전화번호와 관련된 정보를 직접 수신할 수 있다.More specifically, the user can assess whether the telephone number is a spam phone number or not. For example, the user may enter " like " or " unlike " for an evaluation of the incoming telephone number, and the user terminal may deliver the input evaluation to the node. As another example, if the user refuses to receive a call from any phone number to the user terminal, the user terminal can notify the node of " unlike " In addition, the user terminal may receive information related to the telephone number caused by the user in various ways and may communicate the received information to the node. In another embodiment, when the node is a computer device used by a user, such as a mobile terminal or a personal computer, the node can directly receive information related to the telephone number caused by the user.

도 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)은 “인터넷 가입 권유”, “통신사”, “스팸 번호” 등과 같은 업체 정보들일 수 있다.Referring to FIG. 5, regarding the first telephone number PHN1, " 111-1111-1111 ", the first to mth evaluations EVL11 to EVL1m are collected. As illustrated in Fig. 5, each of the first to mth evaluations EVL11 to EVL1m may be any of " dislike " and " good. &Quot; Also, the first to m-th comments CMT11 to CMT1m are collected in association with the first telephone number PHN1. For example, the first to mth comments CMT11 to CMT1m may be business information such as " Internet subscription solicitation, " " carrier, "

다시 도 4를 참조하면, S120단계에서, 기 정해진 조건을 만족하는지 여부가 판별된다. 만약 그렇다면, S130단계가 수행된다. 예를 들면, 전화번호와 관련하여 소정의 수 이상 정보가 수신될 때 S130단계가 수행될 수 있다. 다른 예로서, 소정의 시간 동안 전화번호들과 관련하여 정보들이 수집되고, 그러한 소정의 시간이 경과할 때 S130단계가 수행될 수 있다.Referring again to FIG. 4, in step S120, it is determined whether or not the predetermined condition is satisfied. If so, step S130 is performed. For example, step S130 may be performed when a predetermined number or more of information is received in association with a telephone number. As another example, information may be collected in association with telephone numbers for a predetermined time, and step S130 may be performed when the predetermined time has elapsed.

S130단계에서, 수집된 정보들을 이용하여 데이터 블록이 생성된다. 데이터 블록은 블록 헤더(BH, 도 3 참조) 및 블록 바디(BB, 도 3 참조)를 포함한다. 노드는 필요한 계산들을 수행함으로써 이전 데이터 블록의 해시값(231, 도 3 참조), 현재 블록의 해시값(232, 도 3 참조), 바디의 해시값(233, 도 3 참조), 및 추가 데이터(234, 도 3 참조)를 포함하는 블록 헤더(BH)를 생성할 수 있다. 또한, 노드는 전화번호들에 대한 정보를 포함하는 블록 바디(BB)를 생성할 수 있다.In step S130, a data block is generated using the collected information. The data block includes a block header (BH; see FIG. 3) and a block body (BB, see FIG. 3). 3), the hash value of the current block 232 (see FIG. 3), the hash value of the body 233 (see FIG. 3), and the additional data 234, see Fig. 3). In addition, the node may create a block body (BB) that contains information about telephone numbers.

도 6을 참조하면, 제 1 내지 제 n 전화번호들(PHN1~PHNn)에 관한 정보들이 블록 바디(BB)에 포함되어 있다.Referring to FIG. 6, information on the first to n-th telephone numbers PHN1 to PHNn is included in the block body BB.

실시 예로서, 각 전화번호에 관한 정보는 평판 정보와 코멘트를 포함할 수 있다. 블록 바디(BB)는 제 1 내지 제 n 전화번호들(PHN1~PHNn)에 대응하는 제 1 내지 제 n 평판 정보들(RPT1~RPTn)과 제 1 내지 제 n 코멘트들(CMT1~CMTn)을 포함할 수 있다.As an example, the information about each phone number may include reputation information and comments. The block body BB includes first to nth flat plate information RPT1 to RPTn and first to nth comments CMT1 to CMTn corresponding to the first to nth telephone numbers PHN1 to PHNn can do.

평판 정보와 코멘트는 도 4의 S110단계에서 해당 전화번호와 관련하여 수집된 정보들에 따라 결정된다. 실시 예로서, 노드는 전화번호(예를 들면, 도 5의 PHN1)와 관련하여 수집된 평가들(예를 들면, 도 5의 EVL11~EVL1m)에 따라 해당 평판 정보를 결정할 수 있다. 실시 예로서, 노드는 전화번호(예를 들면, 도 5의 PHN1)와 관련하여 수집된 코멘트들(예를 들면, 도 5의 CMT11~CMT1m)에 따라 해당 코멘트를 결정할 수 있다.The reputation information and the comment are determined according to the information collected in association with the corresponding phone number in step S110 of FIG. As an example, the node may determine the corresponding reputation information according to evaluations (e.g., EVL11 to EVL1m in FIG. 5) collected in connection with a telephone number (e.g., PHN1 in FIG. 5). As an example, the node may determine the corresponding comment according to the collected comments (e.g., CMT11 to CMT1m in FIG. 5) in association with the telephone number (e.g., PHN1 in FIG. 5).

제 1 내지 제 n 평판 정보들(RPT1~RPTn)은 도 6에 도시된 바와 같이 제 1 내지 제 n 카운트 값들(CNT1~CNTn)일 수 있다. 카운트 값은 해당 전화번호가 “싫어요”로 평가된 횟수 혹은 해당 전화번호가 “좋아요”로 평가된 횟수일 수 있다. 예를 들면, 제 1 전화번호(PHN1)에 대응하는 제 1 카운트 값(CNT1)은 도 5의 제 1 내지 제 m 평가들(EVL11~EVL1m) 중 “싫어요”인 평가들의 개수를 나타낼 수 있다.The first to nth plate information RPT1 to RPTn may be first to nth count values CNT1 to CNTn as shown in FIG. The count value may be the number of times the telephone number is evaluated as " no " or the number of times the telephone number is evaluated as " good ". For example, the first count value CNT1 corresponding to the first telephone number PHN1 may indicate the number of evaluations of the first to mth evaluations EVL11 to EVL1m in FIG. 5 that are " dislike ".

코멘트는 해당 전화번호와 관련하여 수집된 코멘트들 중 가장 많은 횟수로 나타나는 텍스트일 수 있다. 예를 들면, 제 1 전화번호(PHN1)에 대응하는 제 1 코멘트(CMT1)는 도 5의 제 1 내지 제 m 코멘트들(CMT11~CMT1m) 중 가장 많은 횟수로 나타나는 텍스트일 수 있다.The comment may be the text that appears in the largest number of comments collected with respect to the telephone number. For example, the first comment CMT1 corresponding to the first telephone number PHN1 may be the text that appears the greatest number of times among the first through mth comments CMT11 through CMT1m in Fig.

노드는 전화번호들과 관련하여 수집된 정보들을 다양한 방식들에 따라 가공하여 제 1 내지 제 n 평판 정보들(RPT1~RPTn)과 제 1 내지 제 n 코멘트들(CMT1~CMTn)을 결정할 수 있다. 도 7에 도시된 바와 같이, 제 1 내지 제 n 평판 정보들(PRT1~PRTn)은 확률 값들일 수 있다. 확률 값은 해당 전화번호가 “싫어요”로 평가된 횟수와 “좋아요”로 평가된 횟수 사이의 비율을 나타낼 수 있다. 도 7은 블록 바디(BB)가 각 전화번호에 대한 평가들 중 “싫어요”인 평가들의 비율을 포함하는 것으로 예시하고 있다.The node may process the collected information in association with the telephone numbers according to various methods to determine the first to nth reputation information RPT1 to RPTn and the first to nth comments CMT1 to CMTn. As shown in FIG. 7, the first to nth flat plate information PRT1 to PRTn may be probability values. The probability value may indicate the ratio between the number of times the phone number is rated "dislike" and the number of times it is rated "good". Figure 7 illustrates that the block body (BB) includes the percentage of evaluations that are " disliked " among the evaluations for each telephone number.

다시 도 4를 참조하면, S140단계에서, 생성된 데이터 블록이 네트워크에 전송되어 다른 노드들에 해당 데이터 블록을 공유한다. S150단계에서, 생성된 데이터 블록을 블록 체인(200)에 링크시켜 블록 체인(200)을 업데이트한다. 노드는 이미 저장된 블록 체인(200)의 마지막 데이터 블록에 신규 데이터 블록을 링크시켜 블록 체인(200)을 업데이트할 수 있다. 마찬가지로, 다른 노드들도 신규 데이터 블록을 블록 체인(200)에 링크시켜 블록 체인(200)을 업데이트할 수 있다.Referring again to FIG. 4, in step S140, the generated data block is transmitted to the network and the corresponding data block is shared with other nodes. In step S150, the generated data block is linked to the block chain 200 to update the block chain 200. [ The node may update the block chain 200 by linking the new data block to the last data block of the block chain 200 already stored. Likewise, other nodes may also update the block chain 200 by linking the new data block to the block chain 200.

도 8은 복수의 노드들(110~170) 중 어느 하나에서 블록 체인(200)을 업데이트하는 방법의 다른 실시 예를 보여주는 순서도이다.FIG. 8 is a flowchart showing another embodiment of a method of updating the block chain 200 at any one of the plurality of nodes 110 to 170.

도 8을 참조하면, S210단계에서, 신규 데이터 블록이 네트워크를 통해 노드에 수신된다. 수신된 신규 데이터 블록은 도 2 및 도 3을 참조하여 설명된 데이터 블록과 마찬가지로 구성될 수 있다. 신규 데이터 블록은 블록 헤더(BH)와 블록 바디(BB)를 포함할 수 있다. 블록 바디(BB)는 전화번호들 및 전화번호들에 대한 정보를 포함할 수 있다.Referring to FIG. 8, in step S210, a new data block is received at the node via the network. The received new data block may be configured similarly to the data block described with reference to FIGS. The new data block may include a block header BH and a block body BB. The block body BB may include information on telephone numbers and telephone numbers.

S220단계에서, 수신된 데이터 블록이 검증된다. 노드는 수신된 데이터 블록의 블록 헤더(BH)에 기반하여 데이터 블록을 검증할 수 있다. 노드는 수신된 데이터 블록의 블록 헤더(BH)에 기반하여 데이터 블록을 검증할 수 있다. 노드는 수신된 데이터 블록의 블록 헤더(BH)에 포함된 이전 데이터 블록의 해시값(예를 들면, 도 3의 231)이 블록 체인(200)의 마지막 데이터 블록의 블록 헤더(BH)에 포함된 현재 블록의 해시값(예를 들면, 도 3의 222)과 일치하는지 여부를 판별함으로써 수신된 데이터 블록을 검증할 수 있다. 노드는 수신된 데이터 블록의 블록 바디(BB)에 기반하여 데이터 블록을 검증할 수 있다. 노드는 블록 바디(BB)의 전화번호들 및 전화번호들에 대한 정보들이 정해진 데이터 포멧을 갖는지 여부를 체크함으로써 데이터 블록을 검증할 수 있다. 그러나, 본 발명의 실시 예들은 여기에 한정되지 않는다. 노드는 다양한 방식들에 따라 데이터 블록을 검증할 수 있다.In step S220, the received data block is verified. The node may verify the data block based on the block header (BH) of the received data block. The node may verify the data block based on the block header (BH) of the received data block. The node determines whether the hash value (e.g., 231 in FIG. 3) of the previous data block included in the block header BH of the received data block is included in the block header BH of the last data block of the block chain 200 It is possible to verify the received data block by determining whether it matches the hash value of the current block (e.g., 222 in FIG. 3). The node may verify the data block based on the block body (BB) of the received data block. The node can verify the data block by checking whether the information about phone numbers and phone numbers of the block body BB has a predetermined data format. However, the embodiments of the present invention are not limited thereto. The node may verify the data block in various manners.

S230단계에서, 검증이 성공했는지 여부에 따라 S240단계가 수행된다. S240단계에서, 수신된 데이터 블록을 블록 체인(200)에 링크시켜 블록 체인(200)이 업데이트된다.In step S230, step S240 is performed depending on whether the verification is successful or not. In step S240, the block chain 200 is updated by linking the received data block to the block chain 200. [

도 9는 본 발명의 실시 예에 따른 복수의 노드들(110~170) 중 어느 하나에서 전화번호에 대한 정보를 제공하는 방법을 보여주는 순서도이다.9 is a flowchart illustrating a method of providing information on a telephone number from any one of a plurality of nodes 110 to 170 according to an embodiment of the present invention.

도 9를 참조하면, S310단계에서, 블록 체인이 저장된다. 블록 체인은 도 4 및 도 8을 참조하여 설명된 바와 같이 저장될 수 있다.Referring to FIG. 9, in step S310, a block chain is stored. The block chain may be stored as described with reference to FIGS. 4 and 8. FIG.

S320단계에서, 특정 전화번호에 대한 요청 메시지가 수신된다. 예를 들면, 노드는 사용자 단말기로부터 네트워크를 통해, 특정 전화번호에 대한 정보를 문의하는 요청 메시지를 수신할 수 있다.In step S320, a request message for a specific telephone number is received. For example, the node may receive a request message from the user terminal via the network, querying for information on a particular telephone number.

S330단계에서, 블록 체인의 데이터 블록들의 적어도 일부에서 해당 전화번호를 검색한다. 데이터 블록들의 블록 바디들 각각은 전화번호들 및 전화번호들에 대한 정보들을 포함한다. 노드는 저장된 데이터 블록들 중 검색 범위의 데이터 블록들을 스캔함으로써 요청된 전화번호를 검색할 수 있다.In step S330, the corresponding telephone number is retrieved from at least a part of the data blocks of the block chain. Each of the block bodies of the data blocks contains information on telephone numbers and telephone numbers. The node can retrieve the requested phone number by scanning the data blocks of the search range of the stored data blocks.

S340단계에서, 전화번호가 검색되는지 여부에 따라 S350단계 또는 S360단계가 수행된다.In step S340, step S350 or step S360 is performed depending on whether the telephone number is searched.

S350단계에서, 검색된 전화번호와 관련하여 저장된 정보에 따라 요청 메시지에 대한 피드백을 제공한다.In step S350, feedback on the request message is provided according to information stored in association with the retrieved telephone number.

도 6을 참조하여 설명된 바와 같이, 전화번호에 대한 정보가 평판 정보이고 평판 정보가 카운트 값일 때, 검색된 전화번호와 관련하여 저장되어 있는 카운트 값이 사용자 단말기에 제공될 수 있다. 전화번호가 복수의 데이터 블록들에서 검색될 때, 해당 카운트 값들이 연산되어 연산된 값이 사용자 단말기에 제공될 수 있다. 예를 들면, 카운트 값들의 합이 연산되어 피드백될 수 있다. 다른 예로서, 전화번호가 검색된 데이터 블록이 갖는 높이가 높을수록(늦게 저장된 데이터 블록일수록) 해당 카운트 값에 높은 가중치가 부여되고, 가중치들이 부여된 카운트 값들의 합이 연산되어 피드백될 수 있다.As described with reference to FIG. 6, when the information on the telephone number is the reputation information and the reputation information is the count value, the count value stored in association with the retrieved telephone number can be provided to the user terminal. When a telephone number is retrieved from a plurality of data blocks, the corresponding count values are calculated and the computed value can be provided to the user terminal. For example, the sum of the count values may be computed and fed back. As another example, the higher the height of the data block in which the telephone number is searched (the later stored data block), the higher the weight value is given to the corresponding count value, and the sum of the count values to which the weight values are assigned can be calculated and fed back.

도 7을 참조하여 설명된 바와 같이, 평판 정보가 확률 값일 때, 검색된 전화번호와 관련하여 저장되어 있는 확률 값이 사용자 단말기에 제공될 수 있다. 전화번호가 복수의 데이터 블록들에서 검색될 때, 해당 확률 값들이 연산되어 연산된 값이 사용자 단말기에 제공될 수 있다. 예를 들면, 확률 값들의 평균 값이 연산되어 피드백될 수 있다. 다른 예로서, 데이터 블록이 갖는 높이가 높을수록(늦게 저장된 데이터 블록일수록) 해당 확률 값에 높은 가중치가 부여되고, 가중치들이 부여된 확률 값들의 평균 값이 연산되어 피드백될 수 있다.As described with reference to FIG. 7, when the reputation information is a probability value, a probability value stored in association with the retrieved telephone number can be provided to the user terminal. When a telephone number is retrieved from a plurality of data blocks, the probability values are calculated and the computed value can be provided to the user terminal. For example, the average value of the probability values may be computed and fed back. As another example, the higher the height of the data block (the later stored data block), the higher the weight value is given to the probability value, and the average value of the probability values to which the weight values are assigned can be calculated and fed back.

연산된 값이 소정의 임계 값 이상일 때 스팸 전화번호임을 나타내는 메시지가 피드백될 수 있다.And a message indicating that the spam phone number is the number when the calculated value is equal to or greater than a predetermined threshold value may be fed back.

S360단계에서, 전화번호가 검색되지 않았음을 나타내는 피드백을 제공한다.In step S360, feedback is provided indicating that the telephone number has not been retrieved.

도 10은 도 9의 S330단계의 실시 예를 보여주는 순서도이다. 도 11은 블록 체인(1100)에 포함되는 데이터 블록들을 보여주는 개념도이다.FIG. 10 is a flowchart showing an embodiment of step S330 of FIG. 11 is a conceptual diagram showing data blocks included in the block chain 1100. FIG.

도 10을 참조하면, 전화번호의 검색을 위해 블록 체인의 데이터 블록들 중 일부가 선택된다. 도 11을 참조하면, 블록 체인에 제 1 내지 제 N 데이터 블록들이 포함되어 있다.Referring to FIG. 10, some of the data blocks of the block chain are selected for retrieval of the telephone number. Referring to FIG. 11, first to Nth data blocks are included in a block chain.

제 N 데이터 블록은 블록 체인에 포함된 데이터 블록들 중 가장 높은 데이터 블록, 즉 최신 블록이다. 제 1 데이터 블록은 블록 체인에 포함된 데이터 블록들 중 가낭 낮은 데이터 블록, 즉 제네시스(genisis) 블록이다. 본 발명의 실시 예에 따르면, 노드는 가장 높은 데이터 블록(즉, 제 N 데이터 블록), 그리고 가장 높은 데이터 블록에 순차적으로 링크된 데이터 블록들을 선택하고, 선택된 데이터 블록들에서 전화번호를 검색할 수 있다.The Nth data block is the highest data block among the data blocks included in the block chain, i.e., the latest block. The first data block is a lower data block, i.e., a genisis block, of the data blocks included in the block chain. In accordance with an embodiment of the present invention, a node may select data blocks that are sequentially linked to the highest data block (i.e., the Nth data block) and the highest data block, and may search for the phone number in the selected data blocks have.

실시 예로서, 노드는 정해진 수의 데이터 블록들을 선택할 수 있다. 정해진 수가 K+1일 때, 노드는 도 10에 도시된 바와 같이 데이터 블록인 제 N 데이터 블록, 그리고 제 N 데이터 블록에 순차적으로 링크된 제 N-K 내지 제 N-1 데이터 블록들을 선택할 수 있다.As an example, the node may select a fixed number of data blocks. When the predetermined number is K + 1, the node can select the N-th data block, which is a data block, and the (N-K) th to N-1th data blocks, which are sequentially linked to the N-th data block, as shown in FIG.

제 1 내지 제 N 데이터 블록들 각각은 블록 헤더에 타임 스탬프를 포함할 수 있다. 예를 들면, 타임 스탬프는 도 3을 참조하여 설명된 추가 데이터(224, 234)에 포함된다. 이러한 경우, 노드는 제 1 내지 제 N 데이터 블록들 중 현재 시점으로부터 소정 시간 내에 속하는 타임 스탬프들을 갖는 데이터 블록들을 선택할 수 있다. 예를 들면, 제 N-K 내지 제 N 데이터 블록들이 현재 시점으로부터 소정 시간 내에 속하는 타임 스탬프들을 가질 때, 도 10에 도시된 바와 같이 제 N-K 내지 제 N 데이터 블록들이 선택된다.Each of the first to Nth data blocks may include a time stamp in a block header. For example, the time stamp is included in the additional data 224, 234 described with reference to FIG. In this case, the node can select data blocks having time stamps belonging to within a predetermined time from the current one of the first to Nth data blocks. For example, when the N-Kth to Nth data blocks have time stamps belonging to a predetermined time from the current time, the N-Kth to Nth data blocks are selected as shown in FIG.

만약 특정 관리자에 의해 관리되는 중앙 서버에 전화번호에 대한 정보들이 저장되고 그에 기반하여 전화번호에 대한 정보를 제공한다면, 제공되는 정보는 과거로부터 누적된 정보들에 기반하므로, 현재 시점에서는 낮은 신뢰성을 가질 수 있다. 예를 들면, 과거에 스팸인 전화번호는 현재에는 더 이상 스팸이 아닐 수 있다. 본 발명의 실시 예에 따르면, 전화번호에 대한 정보들은 블록 체인의 데이터 블록들에 저장되며, 가장 높은 데이터 블록(즉, 제 N 데이터 블록), 그리고 가장 높은 데이터 블록에 순차적으로 링크된 데이터 블록들이 전화번호를 검색하기 위한 범위일 수 있다. 블록 체인의 데이터 블록들이 생성되는 순서대로 링크되며, 나중에 링크된(높은 높이의) 데이터 블록일수록 현재 시점에서 높은 신뢰성을 갖는 점을 고려할 때, 위와 같이 방식으로 선택된 데이터 블록들을 조회함으로써 제공되는 전화번호에 대한 정보는, 시간의 경과를 고려한 별도의 처리 없이, 높은 신뢰성을 가질 수 있다. 예를 들면, 과거에 스팸인 전화번호는 블록 체인이 업데이트됨에 따라 현재에는 스팸이 아닐 수 있다.If information about a phone number is stored in a central server managed by a specific manager and information on the phone number is provided based on the information, the information provided is based on accumulated information from the past, Lt; / RTI > For example, a phone number that has been spam in the past may no longer be spam anymore. According to an embodiment of the present invention, the information on the telephone number is stored in the data blocks of the block chain, and the data blocks that are sequentially linked to the highest data block (i.e., the Nth data block) It may be a range for searching for a telephone number. Considering that the data blocks of the block chain are linked in the order in which the data blocks are generated and the later linked (high-height) data block has a higher reliability at the present point in time, Can have high reliability without any other processing considering the passage of time. For example, phone numbers that were spam in the past may not be spam at this time as the block chain is updated.

도 12는 도 1의 복수의 노드들(110~170) 중 어느 하나에 적합한 예시적인 컴퓨터 장치(1200)를 보여주는 블록도이다.12 is a block diagram illustrating an exemplary computing device 1200 suitable for any of the plurality of nodes 110-170 of FIG.

도 12를 참조하면, 컴퓨터 장치(1200)는 프로세서(1210), 메모리(1220), 데이터베이스(1230), 및 통신기(1240)를 포함한다. 12, a computing device 1200 includes a processor 1210, a memory 1220, a database 1230, and a communicator 1240.

메모리(1220)는 프로세서(1210)에 의해 실행될 때 다양한 기능들을 제공하는 프로그램 코드들을 저장할 수 있다. 컴퓨터 장치(1200)가 복수의 노드들(110~170) 중 어느 하나에 채용될 때, 그러한 프로그램 코드들은 프로세서(1210)에 의해 실행될 때 도 4, 도 8, 도 9, 및 도 10을 참조하여 설명된 동작들 및/또는 기능들을 제공할 수 있다. 이 밖에도, 프로그램 코드들은 프로세서(1210)에 의해 실행될 때 하나 또는 그 이상의 추가적인 동작들 및/또는 기능들을 제공할 수 있다. 이러한 프로그램 코드들은 드라이브 메커니즘을 이용하여 메모리(1220)와는 별도의 컴퓨터에 의해 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에 의해 판독 가능한 기록 매체는 플로피 디스크 드라이브, DVD/CD-ROM 드라이브, 하드 디스크 드라이브, 메모리 카드 등 다양한 저장 매체들 중 적어도 하나를 포함할 수 있다. 또는, 프로그램 코드들은 외부 장치로부터 통신기(1240)을 통해 메모리(1220)에 로딩될 수도 있다.Memory 1220 may store program code that, when executed by processor 1210, provides various functions. When computer device 1200 is employed in any one of a plurality of nodes 110-170, such program codes may be stored in computer readable medium, such as computer readable media, when executed by processor 1210, with reference to Figures 4, 8, 9, And may provide the described operations and / or functions. In addition, the program codes may provide one or more additional operations and / or functions when executed by the processor 1210. These program codes may be loaded from a computer readable recording medium separate from the memory 1220 using a drive mechanism. Such a computer-readable recording medium may include at least one of various storage media such as a floppy disk drive, a DVD / CD-ROM drive, a hard disk drive, a memory card, and the like. Alternatively, the program codes may be loaded from the external device into the memory 1220 via the communicator 1240.

데이터베이스(1230)는 도 2를 참조하여 설명된 블록 체인을 저장할 수 있다. 프로세서(1210)는 데이터베이스(1230)와 통신하여 블록 체인을 저장 및 업데이트하고, 블록 체인에 저장된 정보를 읽고, 읽어진 정보를 처리할 수 있다. 도 12에서, 데이터베이스(1230)는 컴퓨터 장치(1200)의 구성 요소로서 도시되어 있다. 그러나, 본 발명의 실시 예들은 여기에 한정되지 않는다. 예를 들면, 데이터베이스(1230)는 컴퓨터 장치(1200) 외부의 구성 요소일 수 있고, 컴퓨터 장치(1200)는 통신기(1240)를 통해 데이터베이스(1230)와 통신할 수 있다.The database 1230 may store the block chain described with reference to FIG. The processor 1210 may communicate with the database 1230 to store and update block chains, read information stored in the block chain, and process the read information. In FIG. 12, the database 1230 is shown as a component of the computer device 1200. However, the embodiments of the present invention are not limited thereto. For example, the database 1230 may be a component external to the computer device 1200, and the computer device 1200 may communicate with the database 1230 via the communicator 1240.

통신기(1240)는 네트워크와 통신하도록 구성된다. 통신기(1240)는 네트워크를 통해 도 1에 도시된 복수의 노드들(110~170) 중 적어도 하나와 통신할 수 있다.Communicator 1240 is configured to communicate with the network. Communicator 1240 may communicate with at least one of the plurality of nodes 110-170 shown in FIG. 1 via a network.

비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.Although specific embodiments and applications are described herein, it is not intended to be exhaustive or to limit the invention to the precise form disclosed, and it is to be understood that the invention is not limited to those precise embodiments, Various modifications and variations are possible in light of the above teachings.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

110~170: 복수의 노드들
200: 블록 체인
210~230: 제 N-2 내지 제 N 데이터 블록들
BH: 블록 헤더
BB: 블록 바디
RPT1~RPTn: 제 1 내지 제 n 평판 정보들
CMT1~CMTn: 제 1 내지 제 n 코멘트들
110 to 170: a plurality of nodes
200: Block Chain
210 to 230: N-2 th to N th data blocks
BH: Block header
BB: Block body
RPT1 to RPTn: the first to n < th >
CMT1 to CMTn: First to nth comments

Claims (16)

네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 데이터를 관리하고 검색하는 방법에 있어서:
상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 연락처 및 상기 적어도 하나의 연락처에 대응하는 정보를 포함하는, 단계;
연락처를 포함하는 요청 메시지를 수신하는 단계;
상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 적어도 일부에서 상기 연락처를 검색하는 단계; 및
상기 연락처의 검색이 성공할 때, 상기 데이터 블록들의 상기 적어도 일부로부터 추출되는 상기 검색된 연락처에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함하는 방법.
A method for managing and retrieving data in any one of a plurality of nodes communicating with each other via a network, the method comprising:
Storing and updating a block chain by linking data blocks generated at the plurality of nodes, wherein each of the data blocks includes at least one contact and information corresponding to the at least one contact;
Receiving a request message including a contact;
In response to the request message, retrieving the contact from at least a portion of the data blocks of the block chain; And
And providing feedback information for the request message according to information corresponding to the retrieved contact extracted from the at least a portion of the data blocks when the retrieval of the contact is successful.
제 1 항에 있어서,
상기 연락처를 검색하는 단계는,
상기 블록 체인의 상기 데이터 블록들 중 가장 높은 데이터 블록과 상기 가장 높은 데이터 블록에 순차적으로 링크된 소정 수의 데이터 블록들에서 상기 연락처를 검색하는 단계를 포함하는 방법.
The method according to claim 1,
The step of retrieving the contact includes:
And retrieving the contact from the highest data block of the data blocks of the block chain and a predetermined number of data blocks sequentially linked to the highest data block.
제 1 항에 있어서,
상기 데이터 블록들은 각각 타임 스탬프들을 포함하되,
상기 연락처를 검색하는 단계는,
상기 블록 체인의 상기 데이터 블록들 중 소정 시간 내에 속하는 타임 스탬프들을 갖는 데이터 블록들에서 상기 연락처를 검색하는 단계를 포함하는 방법.
The method according to claim 1,
Each of the data blocks including time stamps,
The step of searching for the contact includes:
And retrieving the contact from data blocks having time stamps that fall within a predetermined time of the data blocks of the block chain.
제 1 항에 있어서,
상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 연락처에 대응하는 상기 정보는 상기 적어도 하나의 연락처에 대한 평판을 포함하는 방법.
The method according to claim 1,
Wherein the information corresponding to the at least one contact included in each of the data blocks comprises a reputation for the at least one contact.
제 1 항에 있어서,
상기 데이터 블록들 각각에 포함된 상기 적어도 하나의 연락처에 대응하는 상기 정보는 상기 적어도 하나의 연락처에 대한 코멘트를 포함하는 방법.
The method according to claim 1,
Wherein the information corresponding to the at least one contact included in each of the data blocks includes a comment for the at least one contact.
제 1 항에 있어서,
상기 데이터 블록들은 제 1 데이터 블록을 포함하되,
상기 블록 체인을 저장 및 업데이트하는 단계는,
사용자 단말기들로부터 연락처들과 관련하여 수신되는 정보들을 수집하는 단계; 및
상기 수집된 정보들을 이용하여 상기 제 1 데이터 블록을 생성하는 단계를 포함하는 방법.
The method according to claim 1,
The data blocks including a first data block,
Wherein storing and updating the block chain comprises:
Collecting information received from the user terminals in association with the contacts; And
And generating the first data block using the collected information.
제 6 항에 있어서,
상기 블록 체인을 저장 및 업데이트하는 단계는,
상기 제 1 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함하는 방법.
The method according to claim 6,
Wherein storing and updating the block chain comprises:
And linking the first data block to the block chain to update the block chain.
제 6 항에 있어서,
상기 제 1 데이터 블록을 상기 네트워크를 통해 전송함으로써 상기 제 1 데이터 블록을 다른 노드들에 공유하는 단계를 더 포함하는 방법.
The method according to claim 6,
And sharing the first data block with other nodes by transmitting the first data block through the network.
제 1 항에 있어서,
상기 데이터 블록들은 제 2 데이터 블록을 포함하되,
상기 블록 체인을 저장 및 업데이트하는 단계는,
상기 복수의 노드들 중 어느 하나로부터 상기 제 2 데이터 블록을 수신하는 단계를 포함하는 방법.
The method according to claim 1,
The data blocks including a second data block,
Wherein storing and updating the block chain comprises:
And receiving the second data block from any one of the plurality of nodes.
제 9 항에 있어서,
상기 블록 체인을 저장 및 업데이트하는 단계는,
상기 제 2 데이터 블록을 검증하는 단계; 및
상기 검증 결과에 따라 상기 제 2 데이터 블록을 상기 블록 체인에 링크시켜 상기 블록 체인을 업데이트하는 단계를 더 포함하는 방법.
10. The method of claim 9,
Wherein storing and updating the block chain comprises:
Verifying the second data block; And
And linking the second data block to the block chain according to the verification result to update the block chain.
제 1 항에 있어서,
상기 연락처는 전화기로서 기능하는 장치에 할당되어 있는 전화번호인 방법.
The method according to claim 1,
Wherein the contact is a telephone number assigned to a device functioning as a telephone.
네트워크를 통해 복수의 노드들과 통신하여 데이터를 관리하고 검색하는 방법에 있어서:
순차적으로 링크되는 제 1 내지 제 N 데이터 블록들을 포함하는 블록 체인을 저장하되, 상기 제 1 내지 제 N 데이터 블록들 각각은 연락처들 및 상기 연락처들에 대응하는 정보들을 포함하고 상기 N은 1보다 큰 정수인, 단계;
연락처를 포함하는 요청 메시지를 수신하는 단계;
상기 제 N-K 내지 제 N 데이터 블록들에서 상기 연락처를 검색하되, 상기 K는 1보다 크고 N보다 작은 정수인, 단계; 및
상기 연락처의 검색이 성공할 때, 상기 제 N-K 내지 제 N 데이터 블록들로부터 추출되는 상기 연락처에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 제공하는 단계를 포함하는 방법.
A method for managing and retrieving data by communicating with a plurality of nodes through a network, the method comprising:
Wherein each of the first through N th data blocks includes information corresponding to the contacts and the contacts, and wherein N is greater than 1 An integer;
Receiving a request message including a contact;
Searching for the contact in the NKth to Nth data blocks, where K is an integer greater than 1 and less than N; And
And providing feedback information for the request message according to information corresponding to the contact extracted from the Nth to Nth data blocks when the retrieval of the contact is successful.
제 12 항에 있어서,
상기 제 N 데이터 블록은 상기 블록 체인의 가장 높은 데이터 블록이고, 상기 제 1 데이터 블록은 상기 블록 체인의 가장 낮은 데이터 블록인 방법.
13. The method of claim 12,
Wherein the Nth data block is the highest data block of the block chain and the first data block is the lowest data block of the block chain.
제 12 항에 있어서,
상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 연락처들에 대응하는 정보들은 상기 연락처들에 대한 평판들을 포함하는 방법.
13. The method of claim 12,
Wherein the information corresponding to the contacts included in each of the first through Nth data blocks includes reputations for the contacts.
제 12 항에 있어서,
상기 제 1 내지 제 N 데이터 블록들 각각에 포함된 상기 연락처들에 대응하는 정보들은 상기 연락처들에 대한 코멘트를 포함하는 방법.
13. The method of claim 12,
Wherein the information corresponding to the contacts included in each of the first to Nth data blocks includes a comment on the contacts.
네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치에 있어서:
상기 네트워크와 통신하는 통신기; 및
상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되,
상기 적어도 하나의 프로세서는,
상기 복수의 노드들에서 생성되는 데이터 블록들을 링크시켜 데이터베이스에 블록 체인을 저장 및 업데이트하되, 상기 데이터 블록들 각각은 적어도 하나의 연락처 및 상기 적어도 하나의 연락처에 대응하는 정보를 포함하고;
상기 통신기를 통해 연락처를 포함하는 요청 메시지를 수신하고;
상기 요청 메시지에 응답하여, 상기 블록 체인의 상기 데이터 블록들의 적어도 일부에서 상기 연락처를 검색하고;
상기 연락처의 검색이 성공할 때, 상기 데이터 블록들의 상기 적어도 일부로부터 추출되는 상기 검색된 연락처에 대응하는 정보에 따라 상기 요청 메시지에 대한 피드백 정보를 상기 통신기를 통해 제공하도록 구성되는 컴퓨터 장치.
A computer apparatus operating as any one of a plurality of nodes communicating with each other via a network,
A communicator for communicating with the network; And
At least one processor coupled to the communicator,
Wherein the at least one processor comprises:
Storing and updating a block chain in a database by linking data blocks generated in the plurality of nodes, wherein each of the data blocks includes at least one contact and information corresponding to the at least one contact;
Receive a request message including the contact via the communicator;
In response to the request message, retrieving the contact from at least a portion of the data blocks of the block chain;
And to provide, via the communicator, feedback information for the request message according to information corresponding to the retrieved contact extracted from the at least a portion of the data blocks when the retrieval of the contact is successful.
KR1020170156350A 2017-11-22 2017-11-22 Data management and search method of each of nodes communicating each other and computer device operating as one of nodes KR102062535B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170156350A KR102062535B1 (en) 2017-11-22 2017-11-22 Data management and search method of each of nodes communicating each other and computer device operating as one of nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170156350A KR102062535B1 (en) 2017-11-22 2017-11-22 Data management and search method of each of nodes communicating each other and computer device operating as one of nodes

Publications (2)

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

Family

ID=66675696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170156350A KR102062535B1 (en) 2017-11-22 2017-11-22 Data management and search method of each of nodes communicating each other and computer device operating as one of nodes

Country Status (1)

Country Link
KR (1) KR102062535B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557266A (en) * 2019-09-06 2019-12-10 腾讯科技(深圳)有限公司 People-seeking inspiring publishing method, device, equipment and computer-readable storage medium
KR102124942B1 (en) * 2019-10-07 2020-06-19 신호열 Blockchain data search method
KR20210077897A (en) * 2019-12-18 2021-06-28 충남대학교산학협력단 Management system for web site usage history

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781583B1 (en) * 2016-08-31 2017-09-27 서강대학교산학협력단 File management and search system based on block chain and file management and search method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557266A (en) * 2019-09-06 2019-12-10 腾讯科技(深圳)有限公司 People-seeking inspiring publishing method, device, equipment and computer-readable storage medium
KR102124942B1 (en) * 2019-10-07 2020-06-19 신호열 Blockchain data search method
WO2021071089A1 (en) * 2019-10-07 2021-04-15 Heritage K Co., Ltd. Blockchain data search method
KR20210077897A (en) * 2019-12-18 2021-06-28 충남대학교산학협력단 Management system for web site usage history

Also Published As

Publication number Publication date
KR102062535B1 (en) 2020-01-06

Similar Documents

Publication Publication Date Title
US20240078554A1 (en) Techniques For Expediting Processing Of Blockchain Transactions
US10853812B2 (en) Blockchain transaction safety
US11461310B2 (en) Distributed ledger technology
EP3438903A1 (en) Hierarchical network system, and node and program used in same
US20190207767A1 (en) Block chain supporting multiple one-way functions used for verification of blocks
US20160342977A1 (en) Device, method and system for virtual asset transactions
JP2019175471A (en) Method and device for dispersion database in network
US20210165890A1 (en) Cross-partition calls in partitioned, tamper-evident data stores
CN110771127B (en) Method and system for consistent distributed memory pools in a blockchain network
Hazari et al. Comparative evaluation of consensus mechanisms in cryptocurrencies
Alqassem et al. Towards reference architecture for cryptocurrencies: Bitcoin architectural analysis
CN110852870A (en) Virtual resource transfer method, device, equipment and readable storage medium
KR102062535B1 (en) Data management and search method of each of nodes communicating each other and computer device operating as one of nodes
US20210304191A1 (en) System and method for integration and validation
US20240095722A1 (en) Distributed ledger technology utilizing asset tracking
US20190229931A1 (en) Distributed telephone number ledger and register
AU2021230365A1 (en) Cryptographic data entry blockchain data structure
JP2023522258A (en) Methods for implementing a digital coin system using blockchain
CN111737729A (en) Evaluation data storage method and system based on service data block chain
CN110889040B (en) Method and device for pushing information
US11443064B2 (en) Verifiable removal of item of confidential information from data of a record
Wang et al. DCAF: Dynamic Cross-Chain Anchoring Framework using Smart Contracts
George Introducing blockchain applications
WO2023156670A1 (en) Computer implemented method and system for the provision of access to a plurality of functions and applications associated with a blockchain
JP2023527030A (en) Probabilistic membership testing of blockchain transaction outputs

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