KR102107237B1 - Method for providing internet service using proof-of-reliability based on block-chain and distributed infrastructure p2p model - Google Patents

Method for providing internet service using proof-of-reliability based on block-chain and distributed infrastructure p2p model Download PDF

Info

Publication number
KR102107237B1
KR102107237B1 KR1020180076618A KR20180076618A KR102107237B1 KR 102107237 B1 KR102107237 B1 KR 102107237B1 KR 1020180076618 A KR1020180076618 A KR 1020180076618A KR 20180076618 A KR20180076618 A KR 20180076618A KR 102107237 B1 KR102107237 B1 KR 102107237B1
Authority
KR
South Korea
Prior art keywords
pool
node
data
nodes
blockchain
Prior art date
Application number
KR1020180076618A
Other languages
Korean (ko)
Other versions
KR20200003625A (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 KR1020180076618A priority Critical patent/KR102107237B1/en
Priority to PCT/KR2018/014854 priority patent/WO2020009287A1/en
Publication of KR20200003625A publication Critical patent/KR20200003625A/en
Application granted granted Critical
Publication of KR102107237B1 publication Critical patent/KR102107237B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1082Resource delivery mechanisms involving incentive schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법이 제공되며, 인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송하는 단계, 클라이언트 단말과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool) 중 노드 간의 기 설정된 인접도를 가지는 적어도 하나의 풀을 선택하는 단계, 선택된 적어도 하나의 풀의 신뢰도를 PoR 증명을 이용하여 확인하는 단계, 및 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 요청 이벤트에 대응하는 조각 데이터를 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신하는 단계를 포함한다.A method of providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model is provided, and transmitting a request event for retrieving or storing information through an Internet browser, a node constituting a blockchain connected to a client terminal and distributed P2P A step of selecting at least one pool having a predetermined proximity between nodes among clustered pools, checking the reliability of at least one pool using PoR proof, and having the highest reliability value. And selecting a pool and receiving piece data corresponding to the request event based on an index asynchronously from a plurality of nodes included in the selected pool.

Description

블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법{METHOD FOR PROVIDING INTERNET SERVICE USING PROOF-OF-RELIABILITY BASED ON BLOCK-CHAIN AND DISTRIBUTED INFRASTRUCTURE P2P MODEL}Method for providing Internet service using PoR proof based on blockchain and distributed infrastructure P2P model

본 발명은 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 관한 것으로, 각 노드의 신뢰도를 검증하여 자원 요청 및 검색의 가용성 및 속도를 증가시키고, 자원제공에 대한 보상을 지급하는 방법을 제공한다.The present invention relates to a method for providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model, verifying the reliability of each node to increase the availability and speed of resource requests and searches, and to compensate for the provision of resources. Provide a method.

최근, 인터넷상의 데이터는 인지하지 못하는 사이에 기관에 의해 통제되고 있을 뿐만 아니라, 기관은 개인을 감시하기 위한 브라우저 및 운영체제를 계속하여 개발중에 있으며, 감시의 결과로 얻은 정보를 판매한 대규모 기관은 천 조 단위의 자산을 축적해왔으나 개인은 이를 주장할 권리조차 없는 것이 현 실정이다. 또한, 인터넷 환경에서는 보다 많은 고객정보를 수집하고 싶은 기업과 자신의 프라이버시를 보호하려는 고객 간의 미묘한 신경전이 벌어지는데, 인터넷 서비스를 위해 기업은 약관과 개인정보취급 방침을 통해 고객의 정보가 어떻게 수집되며 활용되어지는가에 대한 범위와 목적 그리고 멸실에 이르기까지의 절차를 고지하지만, 동의하지 않으면 인터넷 서비스를 이용할 수 없으므로 개인은 실질적으로는 정보주체의 권리 행사가 어려운 실정이다. Recently, data on the Internet is not only being controlled by the agency without being aware of it, but the agency is continuing to develop browsers and operating systems to monitor individuals, and large organizations that have sold information obtained as a result of monitoring It has been accumulated trillion units of assets, but individuals are not even entitled to claim it. In addition, in the Internet environment, there is a subtle nerve war between a company that wants to collect more customer information and a customer who wants to protect their privacy. For Internet services, companies collect and use customer information through terms and conditions and privacy policy Although the scope, purpose, and procedure for loss are announced, the Internet service cannot be used without consent, so it is difficult for an individual to exercise the rights of the data subject.

이때, 개인정보보호와 검색작업의 효율을 향상시키기 위한 기술이 개발되었는데, 이와 관련하여 선행기술인 한국공개특허 제2011-0056034호(2011년05월26일 공개)에는, 사용자가 검색사이트의 검색창에 입력한 키워드를 저장하고, 키워드에 따라 검색사이트가 게시한 검색결과물의 링크정보를 검색사이트별로 저장하는 검색이력저장수단을 구비하고, 웹브라우저의 인터넷통신모듈과 연계하면서 사용자가 키워드를 입력한 검색사이트와 키워드를 확인해서 전달하고, 검색사이트가 게시한 검색결과물 중 사용자가 클릭한 검색결과물의 링크정보를 확인해서 저장하는 구성이 개시되어 있다.At this time, a technique was developed to improve the efficiency of personal information protection and search operations. In this regard, in Korean Patent Publication No. 2011-0056034 (published on May 26, 2011), which is a prior art, a user can search for a search site A search history storage means is provided to store the keyword entered in the search engine, and store link information of search results posted by the search site according to the keyword for each search site. The user inputs the keyword in connection with the Internet communication module of the web browser. Disclosed is a configuration for confirming and transmitting a search site and keywords, and checking and storing link information of a search result clicked by a user among search results posted by the search site.

다만, 상술한 구성은 기존의 인터넷을 이용하면서 타인이 자신의 키워드를 보지 못하게 하겠다는 것일 뿐, 인터넷의 브라우저에서 수집해가는 정보는 막을 수 없는 단순한 구조이다. 또한, 사용자가 인터넷을 통하여 얻는 정보는 콘텐츠 공급자에 의해 한정되고 통제되고 있는 패러다임을 변화시키지 못하며, 개인의 정보를 유통시킴으로써 이득을 일부 대규모 기업체만이 배를 불리는 구조를 유지하게 하므로, 인터넷의 데이터를 분산화함과 동시에 정보를 이용함에 대한 대가를 정보제공자에게 나누어주는 수익구조를 가지는 플랫폼의 개발이 요구되고 있다.However, the above-described configuration is merely to prevent others from viewing their keywords while using the existing Internet, and is a simple structure that cannot prevent information collected by browsers on the Internet. In addition, the information the user obtains through the Internet does not change the paradigm that is limited and controlled by the content provider, and by distributing personal information, only some large-scale enterprises maintain the structure called the ship, so data on the Internet It is required to develop a platform that has a profit structure that decentralizes and distributes the price for using information to information providers.

본 발명의 일 실시예는, 블록체인을 기반으로 데이터를 분산하여 블록체인을 이루는 노드에 저장하고, 저장된 노드의 신뢰도를 측정하여 높은 신뢰도를 가진 노드를 이루는 풀로부터 데이터가 검색 및 제공되도록 하며, 데이터 자원을 공유한 노드에게는 가상화폐로 보상이 이루어지게 함으로써 공평한 부의 분배와 콘텐츠를 일부 대규모 기업이 통제하는 상황을 막을 수 있도록 하는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.According to an embodiment of the present invention, data is distributed based on a blockchain and stored in a node constituting a blockchain, and the reliability of the stored node is measured to retrieve and provide data from a pool constituting a node with high reliability, A method of providing Internet services using PoR proof based on a blockchain and distributed infrastructure P2P model, which enables a node that shares data resources to be rewarded with cryptocurrency to prevent equitable wealth distribution and content from being controlled by some large enterprises. Can provide However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송하는 단계, 클라이언트 단말과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool) 중 노드 간의 기 설정된 인접도를 가지는 적어도 하나의 풀을 선택하는 단계, 선택된 적어도 하나의 풀의 신뢰도를 PoR 증명을 이용하여 확인하는 단계, 및 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 요청 이벤트에 대응하는 조각 데이터를 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신하는 단계를 포함한다.As a technical means for achieving the above technical problem, an embodiment of the present invention, transmitting a request event for retrieving or storing information through an Internet browser, a node constituting a block chain connected to a client terminal and distributed P2P A step of selecting at least one pool having a predetermined proximity between nodes among clustered pools, checking the reliability of at least one pool using PoR proof, and having the highest reliability value. And selecting a pool and receiving piece data corresponding to the request event based on an index asynchronously from a plurality of nodes included in the selected pool.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 블록체인을 기반으로 데이터를 분산하여 블록체인을 이루는 노드에 저장하고, 저장된 노드의 신뢰도를 측정하여 높은 신뢰도를 가진 노드를 이루는 풀로부터 데이터가 검색 및 제공되도록 하며, 데이터 자원을 공유한 노드에게는 가상화폐로 보상이 이루어지게 함으로써 공평한 부의 분배와 콘텐츠를 일부 대규모 기업이 통제하는 상황을 막을 수 있도록 한다.According to any one of the above-described problem solving means of the present invention, data is distributed from a pool constituting a node with high reliability by measuring the reliability of the stored node by distributing data based on the blockchain and storing it in a node constituting the blockchain. It is to be searched and provided, and rewards are given to the nodes that share data resources with cryptocurrency, so that some large enterprises can control the distribution of fair wealth and content.

도 1은 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 클라이언트 단말을 설명하기 위한 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 중 데이터 분산 및 파일 저장 과정이 구현된 일 실시예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 중 데이터 조각 복사 과정과, 데이터 분산에 이용되는 머클트리를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 중 분산 웹서버에서 데이터 조각을 모아 클라이언트 단말로 서비스하는 일 실시예 및 인터넷에 엑세스하는 과정이 구현된 일 실시예를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
1 is a view for explaining a system for providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment of the present invention.
2 is a block diagram illustrating a client terminal included in the system of FIG. 1.
3 is a diagram for explaining an embodiment in which data distribution and file storage processes are implemented among Internet services using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment of the present invention.
4 is a diagram for explaining a data fragment copy process and a Merkle tree used for data distribution among Internet services using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment of the present invention.
5 is a block chain and a distributed infrastructure according to an embodiment of the present invention according to an embodiment of a P2P model-based Internet service using a PoR proof and collecting data fragments from a distributed web server to serve as a client terminal and a process of accessing the Internet are implemented. It is a diagram for explaining one embodiment.
6 is a flowchart illustrating an Internet service providing method using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains may easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . Also, when a part is said to "include" a certain component, it means that the component may further include other components, not exclude other components, unless specifically stated otherwise. However, it should be understood that the existence or addition possibilities of numbers, steps, actions, components, parts or combinations thereof are not excluded in advance.

명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. The terms "about", "substantially", and the like used throughout the specification are used in or at a value close to the value when manufacturing and substance tolerances unique to the stated meaning are given, and the understanding of the present invention. To aid, accurate or absolute figures are used to prevent unscrupulous use of the disclosed disclosure by unscrupulous infringers. The term "~(step)" or "step of" as used in the entire specification of the present invention does not mean "step for".

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다. In the present specification, the term “unit” includes a unit realized by hardware, a unit realized by software, and a unit realized by using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware.

본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다. In the present specification, some of the operations or functions described as performed by the terminal, the device, or the device may be performed instead on a server connected to the corresponding terminal, device, or device. Similarly, some of the operations or functions described as being performed by the server may be performed in a terminal, apparatus, or device connected to the corresponding server.

본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In this specification, some of the operations or functions described as mapping or matching with the terminal means that the unique number of the terminal or identification information of the individual, which is identification data of the terminal, is mapped or matched. Can be interpreted as

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 시스템(1)은, 클라이언트 단말(100), 분산 웹서버(300), 루트 DNS 서버(400), TLD(Top-Level Domain) DNS 서버(500) 및 풀(Pool, 600)을 포함할 수 있다. 다만, 이러한 도 1의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.1 is a diagram for explaining an Internet service providing system using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment of the present invention. Referring to FIG. 1, a system for providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model includes a client terminal 100, a distributed web server 300, a root DNS server 400, and a TLD (Top) -Level Domain) DNS server 500 and a pool (Pool, 600) may be included. However, since the Internet service providing system 1 using the PoR proof based on the blockchain and distributed infrastructure P2P model of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1.

이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 클라이언트 단말(100)은 네트워크(200)를 통하여 분산 웹서버(300), 루트 DNS 서버(400), TLD DNS 서버(500), 및 풀(600)과 연결될 수 있다. 그리고, 분산 웹서버(300)는, 네트워크(200)를 통하여 클라이언트 단말(100) 및 풀(600)과 연결될 수 있다. 또한, 루트 DNS 서버(400)는 네트워크(200)를 통하여 클라이언트 단말(100) 및 TLD DNS 서버(500)와 연결될 수 있다. 또한, TLD DNS 서버(500)는, 네트워크(200)를 통하여 루트 DNS 서버(400) 및 클라이언트 단말(100)과 연결될 수 있다. 그리고, 풀(500)은 네트워크(200)를 통하여 클라이언트 단말(100)과 연결될 수 있다.At this time, each component of FIG. 1 is generally connected through a network (network, 200). For example, as illustrated in FIG. 1, the client terminal 100 may distribute the web server 300, the root DNS server 400, the TLD DNS server 500, and the pool 600 through the network 200. And can be connected. In addition, the distributed web server 300 may be connected to the client terminal 100 and the pool 600 through the network 200. In addition, the root DNS server 400 may be connected to the client terminal 100 and the TLD DNS server 500 through the network 200. In addition, the TLD DNS server 500 may be connected to the root DNS server 400 and the client terminal 100 through the network 200. In addition, the pool 500 may be connected to the client terminal 100 through the network 200.

여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5rd Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.Here, the network means a connection structure capable of exchanging information between each node such as a plurality of terminals and servers, and examples of such a network include RF, 3GPP (3rd Generation Partnership Project) network, and LTE (Long Term) Evolution network, 5GPP (5rd Generation Partnership Project) network, WIMAX (World Interoperability for Microwave Access) network, Internet (Internet), Local Area Network (LAN), Wireless Local Area Network (LAN), Wide Area Network (WAN) , PAN (Personal Area Network), Bluetooth (Bluetooth) network, NFC network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, and the like.

하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.In the following, the term at least one is defined as a term including singular and plural, and even if the term at least one does not exist, each component may exist in singular or plural, and may mean singular or plural. It will be self-evident. In addition, it may be said that each component is provided in a singular or plural form, depending on the embodiment.

본 발명의 일 실시예에 따른 방법은, 기존의 인터넷 브라우저, 검색 엔진, 운영체제, 웹서버, 도메인 시스템을 이용하는 것이 아니라, 중앙집중형이 아닌 분산 인프라 P2P 모델에 기반한 브라우저, 검색 엔진, 운영체제, 웹서버, 도메인 시스템, 저장공간의 모든 자원을 블록체인을 이루는 노드에 대응하는 컴퓨팅 자원 또는 네트워킹 자원을 이용한다는 것이다. 이를 위하여, 블록체인을 이루는 각 노드는 클라이언트가 파일을 요청하거나 검색을 실시할 때, 응답을 할 수 있는지의 신뢰성을 평가받게 되는데, 이는 PoR 증명으로 신뢰도를 부여받게 되며, 신뢰도를 높게 부여받은 노드일수록 더 많은 자원을 클라이언트에게 제공할 수 있고, 자원을 제공함에 따른 보상을 받을 수도 있으며, 이는 가상화폐일 수 있다. 이때, 클라이언트가 모든 노드의 신뢰도를 모두 파악할 수 없기 때문에, 노드는 복수의 노드를 포함하는 풀(Pool)로 구분되고, 풀의 신뢰도에 기반하여 클라이언트에게 자원을 줄 수 있는지의 여부가 결정된다. 이렇게 자원을 분산하여 저장시키고, 저장된 분할 데이터를 모아 클라이언트의 요청이 있을 때마다 제공하며, 데이터에 오류가 존재하는 경우 이를 확인하고, 데이터의 변경이 존재하는 경우 블록체인 내의 모든 노드가 동일한 파일을 보유하도록 탐지하는 기능을 보유함으로써, 언제 어디서나 동일한 요청에 대한 동일한 응답이 존재할 수 있도록 한다.The method according to an embodiment of the present invention does not use an existing Internet browser, a search engine, an operating system, a web server, a domain system, but a browser, a search engine, an operating system, and a web based on a distributed infrastructure P2P model that is not centralized. It means that all the resources of the server, domain system, and storage space use computing resources or networking resources corresponding to the nodes constituting the blockchain. To this end, each node constituting the blockchain is evaluated for the reliability of whether a client can respond when requesting a file or performing a search, which is given reliability by PoR proof, and a node that is highly trusted. More and more resources can be provided to the client, and rewards can be provided for providing resources, which may be cryptocurrencies. At this time, since the client cannot grasp the reliability of all nodes, the node is divided into a pool including a plurality of nodes, and it is determined whether resources can be provided to the client based on the reliability of the pool. In this way, the resources are distributed and stored, and the stored fragmented data is collected and provided whenever a request is made by the client, and if there is an error in the data, it is checked. If there is a change in the data, all nodes in the blockchain will use the same file. By retaining the ability to detect it, it allows the same response to the same request anytime, anywhere.

이러한 본 발명의 일 실시예에 따른 기본개념을 바탕으로 각각의 구성을 설명한다.Each configuration will be described based on the basic concept according to an embodiment of the present invention.

클라이언트 단말(100)은, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 분산 인프라 P2P 및 블록체인으로 이루어진 노드를 통하여 데이터를 저장하기 위해 요청하거나, 인터넷 검색을 요청하거나 스트리밍 서비스를 이용하는 단말일 수 있다. 그리고, 클라이언트 단말(100)은, 클라이언트 단말(100)을 중심으로 연결된 복수의 풀(600) 중 가장 인접하면서도 가장 좋은 신뢰도를 가지는 풀(600)을 선택하고, 데이터를 요청하는 단말일 수 있다. 그리고, 클라이언트 단말(100)에서 도메인 요청을 하는 경우, 즉 url 검색을 하는 경우에는 루트 DNS 서버(400) 또는 TLD DNS 서버(500)를 통하여 그 응답을 얻는 단말일 수 있다. 물론, 클라이언트 단말로 자원을 제공하는 입장에서는 노드일 수 있지만, 자원을 요청하고 이를 수신하는 역할은 클라이언트로 정의하고, 자원을 제공하는 역할은 노드로 정의하여 설명하기로 한다. 물론, 클라이언트 단말은 자공을 제공하는 경우에는 노드일 수 있고, 노드도 클라이언트 단말이 될 수 있음은 자명하다 할 것이다.The client terminal 100 uses a web page, an app page, a program or an application related to the Internet service using a blockchain and distributed infrastructure P2P model-based PoR proof to store data through a node consisting of a distributed infrastructure P2P and blockchain. It may be a terminal that requests, requests an Internet search, or uses a streaming service. In addition, the client terminal 100 may be a terminal that selects a pool 600 having the closest and best reliability among a plurality of pools 600 connected around the client terminal 100 and requests data. Also, when a domain request is made from the client terminal 100, that is, when searching for a url, it may be a terminal that obtains the response through the root DNS server 400 or the TLD DNS server 500. Of course, it may be a node in terms of providing resources to the client terminal, but the role of requesting and receiving resources is defined as a client, and the role of providing resources is defined as a node. Of course, it will be apparent that the client terminal may be a node in the case of providing self-portrait, and the node may also be a client terminal.

여기서, 클라이언트 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 클라이언트 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 클라이언트 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, the client terminal 100 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser (WEB Browser), a desktop, a laptop, and the like. In this case, the client terminal 100 may be implemented as a terminal that can access a remote server or terminal through a network. The client terminal 100 is, for example, a wireless communication device in which portability and mobility are guaranteed, navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal) Handyphone System), PDA (Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) terminal, It may include all kinds of handheld-based wireless communication devices such as a smart phone, a smart pad, and a tablet PC.

분산 웹서버(300)는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 클라이언트 단말(100)의 파일 요청에 언제나 응답하는 서버일 수 있다. 블록체인 내에서는 모두가 노드로 정의되나, 그 중 클라이언트 단말(100)의 요청에 언제 어디서나 응답을 하기 위한 서버로 정의될 수 있다. 분산 웹서버(300)는, 동적 또는 정적 웹서버일 수 있으며, 클라이언트 단말(100)로부터 요청이 존재하는 경우 풀(600)에 분산된 데이터 조각을 조각 콜렉터를 이용하여 수집, 배열 및 정렬시키며 컴파일의 가공을 마친 후 클라이언트 단말(100)로 전송하는 서버일 수 있다.The distributed web server 300 may be a server that always responds to a file request of the client terminal 100 using an Internet service web page, app page, program, or application using PoR proof based on a blockchain and distributed infrastructure P2P model. . In the blockchain, all are defined as nodes, but among them, it can be defined as a server for responding to requests from the client terminal 100 anytime, anywhere. The distributed web server 300 may be a dynamic or static web server, and when there is a request from the client terminal 100, data fragments distributed in the pool 600 are collected, arranged, and sorted using a fragment collector to compile. After completing the processing, it may be a server that transmits to the client terminal 100.

여기서, 분산 웹서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the distributed web server 300 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser (WEB Browser), a desktop, a laptop, and the like.

루트 DNS 서버(400)는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 인터넷 DNS 루트(Root) 영역에 대한 네임 서버일 수 있다. 이때, 루트 DNS 서버(400)는 루트 영역 내에서 일어나는 클라이언트 단말(100)의 기록 요청에 직접 응답하고, 그 외의 요청은 TLD DNS 서버(400)로 권한을 부여하여 대리응답하도록 하는 서버일 수 있다. 분산 웹서버(300)도 블록체인 내의 구성요소인 노드인 것과 같이, 루트 DNS 서버(400)도 블록체인 내의 구성요소인데, 이때의 대응요소는 노드가 아니라 풀(Pool)로 정의한다. 이에 따라, 루트 DNS 서버(400)는 복수의 노드를 포함할 수 있다. 즉, 복수의 노드 중 24시간 대기가 가능한 노드를 분산 웹서버(300)로, 복수의 노드를 묶은 풀(Pool) 중 루트 영역 내에 발생하는 기록 요청에 응답하는 노드의 집합 풀은 루트 DNS 서버(400)로 정의할 수 있다. 이때의 풀은, 풀(600)과 다른 점이 존재하는데, 이는 루트 DNS 서버(400)를 이루기 위한 조건은 신뢰도 랭킹이 높은, 예를 들어 랭킹 10 내의 풀이어야 한다는 것이다. 또한, 루트 DNS 서버(400)는, 유효한 모든 TLD DNS 서버(500)의 주소 정보를 저장할 수 있다. 이에 따라, 루트 DNS 서버(400)는 TLD DNS 서버(500)와 직접 정보를 송수신할 수 있다.The root DNS server 400 may be a name server for an Internet DNS root region using a web page, an app page, a program or an application related to Internet services using PoR proof based on a blockchain and distributed infrastructure P2P model. At this time, the root DNS server 400 may directly respond to a record request of the client terminal 100 occurring in the root zone, and other requests may be a server that grants authority to the TLD DNS server 400 and responds proxyly. . As the distributed web server 300 is a node that is a component in the blockchain, the root DNS server 400 is a component in the blockchain, and the corresponding element is defined as a pool, not a node. Accordingly, the root DNS server 400 may include a plurality of nodes. That is, among the plurality of nodes, a node capable of waiting for 24 hours is a distributed web server 300, and among a pool in which a plurality of nodes are pooled, a set pool of nodes responding to a record request occurring in the root zone is a root DNS server 400). The pool at this time has a difference from the pool 600, which means that the condition for forming the root DNS server 400 should be a pool with high reliability ranking, for example, ranking 10. In addition, the root DNS server 400 may store address information of all valid TLD DNS servers 500. Accordingly, the root DNS server 400 may directly transmit and receive information to and from the TLD DNS server 500.

여기서, 루트 DNS 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the root DNS server 400 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser (WEB Browser), a desktop, a laptop, and the like.

TLD DNS 서버(500)는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 상위 랭킹된 풀을 보유하거나 상위 랭킹된 풀인 서버일 수 있다. 이때, TLD DNS 서버(500)는, 루트 DNS 서버(400)가 요청한 정보를 제공하거나, 루트 DNS 서버(400)에서 TLD DNS 서버(500)로부터 수신한 정보와 일치하는 콘텐츠 데이터 조각을 보유하고 있는 풀을 알려달라고 하는 경우, 이에 대응하는 정보를 제공하는 서버일 수 있다. The TLD DNS server 500 may be a server that has a top ranked pool using a web page, an app page, a program, or an application related to Internet services using a PoR proof based on a blockchain and distributed infrastructure P2P model, or a server that is a top ranked pool. At this time, the TLD DNS server 500 provides the information requested by the root DNS server 400 or holds a piece of content data that matches the information received from the TLD DNS server 500 in the root DNS server 400 When the pool is requested, it may be a server that provides information corresponding thereto.

여기서, TLD DNS 서버(500)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. Here, the TLD DNS server 500 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser (WEB Browser), a desktop, a laptop, and the like.

풀(600)은, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 클라이언트 단말(100)로부터 자료를 요청받는 노드의 집합일 수 있다. 이때, 풀(600)을 관리하는 매니저가 존재할 수 있고, 매니저도 물론 노드일 수 있다. 또한, 풀(600)은, 각각의 노드의 신뢰도를 바탕으로 한 신뢰도를 보유하고 있으며, 이에 기반하여 클라이언트 단말(100)로 자료를 제공할 수 있는 기회가 부여되며, 이에 대한 보상을 받는 집합일 수 있다.The pool 600 may be a set of nodes that request data from the client terminal 100 using a web page, an app page, a program or an application related to Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model. At this time, a manager managing the pool 600 may exist, and the manager may be a node, of course. In addition, the pool 600 has a reliability based on the reliability of each node, and based on this, an opportunity to provide data to the client terminal 100 is given, and a set day to receive compensation for this Can be.

여기서, 풀(600)에 포함된 복수의 노드는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 풀(600)에 포함된 복수의 노드는, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 풀(600)에 포함된 복수의 노드는, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, the plurality of nodes included in the pool 600 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser (WEB Browser), a desktop, a laptop, and the like. At this time, the plurality of nodes included in the pool 600 may be implemented as a terminal capable of accessing a remote server or terminal through a network. The plurality of nodes included in the pool 600 is, for example, a wireless communication device in which portability and mobility are guaranteed, navigation, Personal Communication System (PCS), Global System for Mobile communications (GSM), Personal Digital Cellular (PDC) ), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless) It may include all types of handheld-based wireless communication devices such as a Broadband Internet terminal, a smartphone, a smartpad, and a Tablet PC.

도 2는 도 1의 시스템에 포함된 클라이언트 단말을 설명하기 위한 블록 구성도이고, 도 3 내지 도 5는 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스가 구현된 일 실시예를 설명하기 위한 도면이다. 이하에서, 도 2를 참조로 설명하나, 도 2에 포함된 각 구성요소나 개념을 설명하기 위하여 도 3 내지 도 5를 참조하여 설명하기로 한다.FIG. 2 is a block diagram illustrating a client terminal included in the system of FIG. 1, and FIGS. 3 to 5 are Internet services using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment of the present invention It is a diagram for explaining one embodiment implemented. Hereinafter, description will be given with reference to FIG. 2, but with reference to FIGS. 3 to 5 to describe each component or concept included in FIG. 2.

도 2를 참조하면, 클라이언트 단말(100)은, 전송부(110), 선택부(120), 확인부(130) 및 수신부(140)를 포함할 수 있다.Referring to FIG. 2, the client terminal 100 may include a transmission unit 110, a selection unit 120, a confirmation unit 130, and a reception unit 140.

본 발명의 일 실시예에 따른 분산 웹서버(300)나 연동되어 동작하는 다른 서버(미도시)가 클라이언트 단말(100), 루트 DNS 서버(400), TLD DNS 서버(500), 풀(600)로 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 클라이언트 단말(100), 루트 DNS 서버(400), TLD DNS 서버(500), 풀(600)은, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 클라이언트 단말(100), 루트 DNS 서버(400), TLD DNS 서버(500), 풀(600)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.A distributed web server 300 or another server (not shown) operating in cooperation with the client terminal 100, the root DNS server 400, the TLD DNS server 500, and the pool 600 according to an embodiment of the present invention When transmitting Internet service application, program, app page, web page, etc. using PoR proof based on P2P model of blockchain and distributed infrastructure, client terminal 100, root DNS server 400, TLD DNS server 500, The pool 600 may install or open Internet service applications, programs, app pages, web pages, etc. using PoR proof based on a blockchain and distributed infrastructure P2P model. In addition, the service program may be driven in the client terminal 100, the root DNS server 400, the TLD DNS server 500, and the pool 600 using a script executed in a web browser. Here, the web browser is a program that enables the use of the world wide web (WWW) service, and refers to a program that receives and displays hypertext described in a hypertext mark-up language (HTML), for example, Netscape. , Explorer, Chrome, and the like. Further, the application means an application on the terminal, and includes, for example, an app that is executed on a mobile terminal (smartphone).

도 2를 참조하면, 전송부(110)는, 인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송할 수 있다. 이때, 인터넷 브라우저는 본 발명의 일 실시예에 따라 개발된 인터넷 브라우저로, 기존 웹사이트와 본 발명의 플랫폼 기반 웹사이트 모두 접속할 수 있는 브라우저이며, 사용자의 데이터를 수집하여 허가없이 타 기관에게 전송하지 않고, PoR 프로토콜을 이용하여 보안성과 자유도가 향상된 브라우저이다. 이때, PoR은 이하에서 후술하기로 한다.Referring to FIG. 2, the transmission unit 110 may transmit a request event for retrieving or storing information through an Internet browser. At this time, the Internet browser is an Internet browser developed according to an embodiment of the present invention, which is a browser that can access both the existing website and the platform-based website of the present invention, and collects user data and does not transmit it to other organizations without permission. It is a browser with improved security and freedom using PoR protocol. At this time, PoR will be described later.

선택부(120)는, 클라이언트 단말(100)과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool, 600) 중 노드 간의 기 설정된 인접도를 가지는 적어도 하나의 풀(600)을 선택할 수 있다. 이때, 노드는 풀 내에 위치한 채굴자일 수 있고, 풀에서 각자의 빠른 대역폭과 여분의 하드디스크 공간을 빌려주면서 클라이언트 단말(100)을 위하여 네트워크 자원 및 컴퓨팅 자원을 제공하는 기동력을 담당할 수 있고, 이에 대한 대가로 인센티브인 가상화폐를 부여받는 단말일 수 있다. 그리고, 노드는 데이터의 분산된 부분을 담당하고, 새로운 머클트리는 이전에 생성된 머클트리로 이어지게 된다. 또한, 풀(600)은, 상술한 바와 같이 노드의 집합 공간으로, 1개의 풀(600)에는 1 개의 풀 관리자가 포함될 수 있다. 풀(600)은, 클라이언트 단말(100)과 직접 소통을 할 수 있고, 이는 애플리케이션이나 브라우저를 통할 수 있다. 그리고, 풀 관리자는 신뢰할 수 있는 노드 범위 안에서 무작위로 결정될 수 있다. 이러한 풀의 개념도입으로 인하여 다른 여러 노드에 분산된 데이터를 반영할 경우 효율적으로 운용할 수 있다. 각각의 풀(600)에 포함될 수 있는 노드의 수는 제한되는데, 이러한 풀(600) 개념의 도입은 클라이언트 단말(100)에서 자신에게 적합한 노드를 찾는데 훨씬 수월할 수 있다. 즉, 1000개의 노드를 모두 검색하는 것보다는 10개의 풀을 검색하는것이 훨씬 이득이기 때문이다. 이때, 1 개의 풀은 1000개의 노드를 수용할 수 있지만, 그 수는 실시예에 따라 증감될 수 있다.The selector 120 may select at least one pool 600 having a predetermined adjacency between nodes among the clustered pools (Pool, 600) in which the nodes constituting the blockchain connected by the client terminal 100 and the distributed P2P are clustered. have. At this time, the node may be a miner located in the pool, and may be responsible for the mobility that provides network resources and computing resources for the client terminal 100 while lending their own fast bandwidth and extra hard disk space from the pool. It may be a terminal that is granted an incentive virtual currency in exchange for. And, the node is responsible for the distributed part of the data, and the new merkle tree is continued to the previously created merkle tree. In addition, the pool 600 is a collection space of nodes as described above, and one pool manager may be included in one pool 600. The pool 600 may communicate directly with the client terminal 100, which may be through an application or a browser. And, the pool manager can be randomly determined within a trusted node range. Due to the introduction of the concept of this pool, it can be efficiently operated when data distributed to different nodes is reflected. The number of nodes that can be included in each pool 600 is limited, and the introduction of the concept of the pool 600 may be much easier to find a node suitable for itself in the client terminal 100. That is, it is far more beneficial to search 10 pools than to search all 1000 nodes. At this time, one pool can accommodate 1000 nodes, but the number may be increased or decreased according to embodiments.

확인부(130)는, 선택된 적어도 하나의 풀(600)의 신뢰도를 PoR 증명을 이용하여 확인할 수 있다. 이때, PoR 증명은, 노드별 가동시간 및 저장공간명성의 합으로 노드의 신뢰도(R)가 산출되는 공식(R=Ut+Sr)을 의미한다. 노드별 가동시간(Ut)은, 1시간(P)마다 하나의 노드가 데이터 저장기능을 수행할 수 있는 총 시간(T)의 백분율로 산출될 수 있다. 저장공간명성(Sr)은 1시간동안 각 노드에서 유지해야 하는 기 설정된 최소유지저장공간(Mms)에 대한 하나의 노드의 저장공간 여유분(S)에 대한 평균용량의 비율을 백분율한 값으로 산출될 수 있다. 풀(600)의 신뢰도는, 풀(600)에 포함된 복수의 노드의 신뢰도(Ri)를 합한 값(Σ, i는 1부터 n까지)을 노드의 수(n)로 나눈 값으로, 복수의 노드의 신뢰도의 평균이고, 클라이언트 단말(100)과 메세지를 송수신하는 노드는 풀(600) 내의 복수의 노드를 관리하면서 풀(600)에 속해있는 노드인 풀(600) 매니저 노드일 수 있다.The verification unit 130 may confirm the reliability of the selected at least one pool 600 using PoR proof. At this time, the PoR proof means a formula (R=Ut+Sr) in which the reliability (R) of the node is calculated as the sum of uptime and storage space reputation for each node. Uptime for each node (Ut) may be calculated as a percentage of the total time (T) that one node can perform a data storage function for every hour (P). The storage space reputation (Sr) is calculated as a percentage of the ratio of the average capacity of the storage space (S) of one node to the minimum storage space (Mms) that must be maintained at each node for 1 hour. Can be. The reliability of the pool 600 is a value obtained by dividing the sum of the reliability Ri of the plurality of nodes included in the pool 600 (Σ, i is from 1 to n) by the number of nodes (n). The average of the reliability of the node, and a node that transmits and receives messages to and from the client terminal 100 may be a pool 600 manager node, which is a node belonging to the pool 600 while managing a plurality of nodes in the pool 600.

즉, 성공적인 분산 애플리케이션을 향한 열쇠가 되는 것은 분산된 노드의 신뢰도를 최상의 활성화 단계로 유지하는 것에서 시작하고, 신뢰도가 높은 노드는 분산된 네트워크에 대하여 빠르고 안정적인 연결을 보장해 줄 수 있다. 하나의 노드는 최소 한 개의 저장 요청에 해당하는 데이터 조각을 위한 저장 공간을 마련할 수 있어야 한다. 다시 말하면, 특정 시간에 예고 없이 발생할 저장 요청에 대한 평균 수요에 맞춰 최소 저장 공간 조건을 만족 해야 한다. 이를 위하여 신뢰도와 PoR 증명이 이용되는데, P는 1시간으로 단위는 초로 표현한다. 이때, P의 값은 구현예에 따라 증감가능하며 다른 시간들을 배제하는 의미로 기재된 것이 아님은 자명하다 할 것이다.In other words, the key to a successful distributed application starts with maintaining the reliability of the distributed node as the best activation step, and a highly reliable node can guarantee a fast and stable connection to the distributed network. One node must be able to provide storage space for a piece of data corresponding to at least one storage request. In other words, the minimum storage space requirement must be met in line with the average demand for storage requests that will occur without notice at any given time. For this, reliability and PoR proofs are used, where P is 1 hour and units are expressed in seconds. At this time, the value of P can be increased or decreased depending on the implementation, and it will be apparent that the values are not written to exclude other times.

상술한 파라미터 중 T의 단위도 초이고, Ut의 단위도 초로 정의한다. 한 개의 저장공간 여유분에 대한 평균용량인 S는 채굴자인 경우 최소 15기가바이트의 저장공간을 필요로 한다. 그리고, Sr의 개념이 필요한 경우는, 저장공간 하나의 요소만을 가지고 신뢰도의 높은 점수를 얻을 수 없도록 하기 위함이다. 즉, 노드는 저장 요청이 있을 때마다 데이터 호스트가 가능한 충분한 저장 공간을 준비해야 하고, 이에 따라 용량이 큰 데이터에 대한 저장 요청이 일부 노드로 집중되는 것에 대비할 수 있기 때문이고, 이는 인터넷 속도의 향상으로 자연스럽게 이어질 수 있다. Mms는 예를 들어, 1,000 GB 를 계속해서 유지해야 하는 조건이면 1,000GB일 수 있다. Among the above-described parameters, the unit of T is also seconds, and the unit of Ut is also defined as seconds. S, which is the average capacity for one spare space, requires at least 15 gigabytes of storage space for miners. In addition, when the concept of Sr is necessary, it is to prevent a high reliability score from having only one element of storage space. That is, the node needs to prepare enough storage space for the data host whenever there is a storage request, and thus, it can prepare for the storage request for a large amount of data to be concentrated on some nodes, which improves the speed of the Internet. Can lead naturally. Mms may be, for example, 1,000 GB if the condition is to keep 1,000 GB continuously.

상술했지만 풀의 개념은 분산 해시 테이블에서 클라이언트의 특정노드검색시간을 현저하게 줄일 수 있는데, 클라이언트와 메시지 송수신을 할 수 있는 노드는 다수의 일반 노드가 아니고, 풀 매니저라는 직책을 보유한 노드로 정의되기 때문이다. 이때, 풀매니저는, 가동시간명성과 응답률을 기준으로 선정될 수 있고, 풀 매니저는 일정 간격으로 노드에게 메시지를 보내면서 지속적으로 해당 풀에 존재하는 노드의 성능 상태와 이상여부를 모니터링할 수 있고, 클라이언트의 요청이 있을 때마다, 풀 매니저는 언제나 즉각 응답할 준비가 되어 있어야 한다.As mentioned above, the concept of the pool can significantly reduce the search time of a specific node of the client in the distributed hash table. The node that can send and receive messages to and from the client is not a large number of general nodes, but is defined as a node that holds the position of full manager. Because. At this time, the full manager can be selected based on the uptime reputation and response rate, and the pool manager can continuously monitor the performance status and abnormality of the nodes existing in the corresponding pool while sending messages to the node at regular intervals. Whenever a client requests, the pool manager should always be ready to respond immediately.

이를 위하여, 각 노드에 파일이 분산되어 저장되어야 한다. 이를 데이터 분할(Data Fragmentation)이라고 하는데, 이는 도 3을 통하여 설명한다. 우선, 도 3의 (a)를 보면, 클라이언트 단말(100), 풀(600)을 포함한 시스템의 개략도를 보여준다. 이러한 네트워크 구조에서 클라이언트 단말(100)의 요청에 응답을 하기 위해서는 노드에 각각 저장된 파일이 존재해야 한다. 이를 탈중앙화 기억 장치 요소(Decentralized Storage Components)로 정의한다. To this end, files must be distributed and stored on each node. This is called data fragmentation, which will be described with reference to FIG. 3. First, referring to (a) of FIG. 3, a schematic diagram of a system including a client terminal 100 and a pool 600 is shown. In order to respond to the request of the client terminal 100 in such a network structure, files stored in the nodes must exist. This is defined as decentralized storage components.

데이터 분할 과정이란 데이터를 좀 더 관리하기 쉽도록 더 작게 나누는 과정을 의미하는데, 기억 장치 네트워크에 분산 알고리즘을 적용하는 방식이다. 이때, 분산 알고리즘은 풀의 위치, 대역폭, 가동시간 순위, 기억장치 수의 파라미터를 고려할 수 있다. 여기서, 우선순위로 고려되어야 할 인자는, 가장 근접한 풀의 신뢰도이고, 신뢰도에 대해서는 설명한 바와 같다. 이때, 분산된 데이터의 최대 사이즈는 4MB일 수 있으나, 이는 실시예에 따라 증감가능하다. 예를 들어, 대한민국 평균 네트워크 속도 60.58 MBps를 기준으로 데이터를 불러오는데 대략 0.07초가 걸린다. 풀의 위치는 속도와 신뢰도에 굉장히 중요한 요인 중 하나인데, 클라이언트 단말(100)에서 데이터를 저장하고 검색할 때, 클라이언트 단말(100)을 기준으로 가장 근접한 풀이 선택되는 것은 상술한 바와 같다. 그 외에도, 기억장치의 수, 신뢰도, 대역폭, 가동 시간 등의 요소가 고려될 수 있다.The data partitioning process refers to a process of dividing data into smaller pieces for easier management, and is a method of applying a distributed algorithm to a storage network. At this time, the distribution algorithm can take into account the parameters of the pool location, bandwidth, uptime rank, and storage number. Here, the factor to be considered as the priority is the reliability of the nearest pool, and the reliability is as described. At this time, the maximum size of the distributed data may be 4 MB, but it can be increased or decreased according to an embodiment. For example, it takes approximately 0.07 seconds to load data based on the average network speed in Korea of 60.58 MBps. The location of the pool is one of the most important factors for speed and reliability. When the client terminal 100 stores and retrieves data, the closest pool is selected based on the client terminal 100 as described above. In addition, factors such as the number of storage devices, reliability, bandwidth, and uptime can be considered.

이때, 풀(600)은 해당 풀 안에 존재하는 노드가 사용할 기억장치를 종합해서 해당 기록을 끊임없이 유지하기 때문에, 주어진 시간에 분산된 데이터를 충분히 저장할 수 있는 풀(600)을 찾는데 도움이 될 수 있고, 이는 클라이언트 단말(100)과 노드 사이의 불필요한 소통을 없앨 수 있다. 그리고, 조건에 맞지 않는 다른 풀에 포함된 데이터를 이용하는 것을 피할 수 있다. 이때, 근접한 풀에 분산된 데이터를 수용할 기억 장치가 없는 경우 다른 풀에 저장될 수 있고, 동일 풀에 존재하는 노드끼리는 다른 풀에 존재하는 노드보다 많은 빈도, 주기를 가지며 커뮤니케이션을 할 수 있다. 이때, 대역폭 조건이 기준값을 만족하지 못한 경우에는 데이터 분산 프로세스를 거쳤을 경우 분산된 데이터의 조각의 크기도 작아질 수 있다.At this time, since the pool 600 continuously keeps the record by synthesizing the storage devices to be used by nodes existing in the pool, it can help to find a pool 600 capable of sufficiently storing the data distributed at a given time. , This can eliminate unnecessary communication between the client terminal 100 and the node. And, it is possible to avoid using data contained in other pools that do not meet the conditions. At this time, if there is no storage device to accommodate the data distributed in the adjacent pool, it can be stored in another pool, and nodes existing in the same pool can communicate with more frequency and period than nodes existing in the other pool. At this time, if the bandwidth condition does not satisfy the reference value, the size of the fragment of the distributed data may be reduced when the data distribution process is performed.

데이터 분산 프로세스가 동작하는 경우 클라이언트 단말(100)의 하나의 파일은 데이터 조각으로 분할되고, 분할된 데이터 조각은 각 노드에 분산되기 위해 클라이언트 단말(100)로부터 추출되어야 하는데, 그 전에 도 3의 (b)와 같이 검사를 받게 된다. 머클트리 파편검사를 통하여 입출력 장치와 처리장치에 부담을 주는 무거운 해시를 가볍게 처리할 수 있다. 또한, 데이터 조각 분배 프로세스는 클라이언트 단말(100)의 머클트리 루트 및 길이를 저장하고, 데이터 조각 및 머클트리 리프 노드의 전송을 향상시킬 수 있다. 이렇게 두 가지를 병행하여 데이터를 분할 및 분배하는 경우 풀(600) 내의 노드에 데이터 조각을 효율적으로 분배할 수 있게 된다. 이때, 풀(600) 내에 조각저장을 용이하게 할 수 있도록 오픈소스 IPFS 프로토콜을 기반으로 할 수 있다. 한편, 데이터 조각 복사는 조각을 복제 및 유지하는 것을 말한다. 즉, 노드는 인접 풀(600)의 노드로부터 데이터 조각을 복제할 수 있는데, 그 이유는 데이터 조각의 실용성을 보장하고 일부 노드가 동기화를 실시하지 않는 경우를 대비하기 위함이다. When the data distribution process is operated, one file of the client terminal 100 is divided into data pieces, and the divided data pieces must be extracted from the client terminal 100 to be distributed to each node. b). Through the Merkle Tree debris inspection, heavy hashes that burden the I/O device and the processing device can be lightly processed. In addition, the data fragment distribution process may store the Merkle tree root and length of the client terminal 100 and improve the transmission of the data fragment and the Merkle tree leaf node. When the data is divided and distributed in parallel, the pieces of data can be efficiently distributed to nodes in the pool 600. At this time, it may be based on the open source IPFS protocol to facilitate fragment storage in the pool 600. Meanwhile, data fragment copying refers to replicating and maintaining fragments. That is, the node can replicate a piece of data from a node in the adjacent pool 600, because it is to ensure the practicality of the piece of data and to prepare for the case where some nodes do not synchronize.

다시 도 2로 돌아와서, 수신부(140)는, 신뢰도가 가장 높은 값을 가지는 풀(600)을 선택하고, 요청 이벤트에 대응하는 조각 데이터를 선택된 풀(600)에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신할 수 있다. 이때, 수신부(140)는, 복수의 노드 중 어느 하나의 노드에서 요청 이벤트를 처리할 수 없는 경우, 어느 하나의 노드는 다른 풀(600)에 존재하는 노드로 요청 이벤트를 전송할 수 있다. 그리고, 각 풀(600)의 복수의 노드는 데이터 조각의 복수의 사본을 미러사이트 형식으로 유지하는 데이터 조각 복사(Data Fragmentation Mirroing)를 실행하여 보유할 수 있다. 이때, 수신부(140)에서 비동기적으로 인덱스에 기초하여 수신하는 이유는, 풀(600)에 포함된 복수의 노드가 서로 다르거나 같은 각각의 클럭(Clock)으로 P2P Gossip 프로토콜을 통하여 브로드캐스팅하기 때문이다. 여기서, Gossip 프로토콜은 하나의 메세지를 전송받은 Peer가 자신의 주변에 있는 임의의 Peer에게 메세지를 전송하는 것으로, 메세지 전송의 높은 신뢰성을 제공하면서 확장성을 제공하기 위해 개발되었고, 공지기술이므로 상세한 설명은 생략하기로 한다.Returning to FIG. 2 again, the receiving unit 140 selects the pool 600 having the highest reliability value, and asynchronously stores fragment data corresponding to the request event from a plurality of nodes included in the selected pool 600. It can be received based on the index. At this time, the receiving unit 140 may transmit a request event to a node existing in the other pool 600 when one of the plurality of nodes cannot process the request event. In addition, a plurality of nodes in each pool 600 may be retained by executing data fragmentation mirroring, which maintains a plurality of copies of data fragments in a mirror site format. At this time, the reason for receiving based on the index asynchronously from the receiving unit 140 is because a plurality of nodes included in the pool 600 broadcasts through P2P Gossip protocols with different or equal clocks. to be. Here, the Gossip protocol is a Peer that receives a single message and sends a message to any Peer in its periphery. It is developed to provide scalability while providing high reliability of message transmission, and is a well-known technology. Will be omitted.

이때, 데이터 조각 복사를 도 4를 참조로 하여 설명하기로 한다. 이때, 도 4의 (a)를 참조하면, 풀(600) 내의 노드가 자신이 보유한 가용자원을 소진하고 있거나 더 이상의 요청은 받아들이지 못하는 경우, 노드는 다른 풀에 존재하는 노드에 도움을 청하게 된다. 예를 들어, 제 1 풀(Pool 1)은 전체에서 평균적인 신뢰도를 가진 가까운 풀이고, 제 3 풀(Pool3)은 전체 노드 중 높은 신뢰도를 가지지만 가장 거리가 먼 풀이다. 이때, 노드를 빌리는 전략은 인터넷 연결에 장애가 발생할지라도 파일을 손쉽게 복구할 수 있도록 각각의 노드는 데이터 조각의 복수의 사본을 미러사이트 형식으로 유지하는 것이다. 따라서, 하나의 노드가 동작을 멈추더라도 인접 노드가 다른 노드에게 알려주고, 각 노드는 데이터 조각의 히스토리를 담고 있기 때문에, 데이터 조각의 사본을 유지(보유, 소유)한 노드의 정보와 현재 활성화된 미러사이트의 수가 포함될 수 있고, 이를 통하여 다른 노드로부터 도움을 받아 자신에게 온 요청을 처리할 수가 있게 된다.At this time, the data fragment copy will be described with reference to FIG. 4. In this case, referring to (a) of FIG. 4, when a node in the pool 600 is exhausting available resources owned by it or no longer accepts a request, the node requests help from a node existing in another pool. For example, the first pool (Pool 1) is the closest pool with average reliability in the whole, and the third pool (Pool3) is the pool having the highest reliability among the entire nodes, but the longest. At this time, the strategy of borrowing a node is that each node maintains a plurality of copies of data fragments in a mirror site format so that files can be easily recovered even if an Internet connection fails. Therefore, even if one node stops working, the adjacent node informs the other node, and since each node contains a history of data fragments, the information of the node that maintains (owns, owns) a copy of the data fragment and the currently active mirror. The number of sites can be included, and through this, it is possible to process requests from itself with help from other nodes.

또한 도 4의 (b)를 참조하면, 데이터 분산에 이용되는 머클트리를 설명하기 위한 도면을 도시하는데, 머클트리란 해시로 짜여진 데이터 구조, 즉 해시 목록의 가계도이며, 트리 구조의 일종으로, 리프 노드는 데이터가 담긴 블록의 해시이고, 비리프 노드는 자식 노드의 해시이다. 이때, 머클트리는 두 개의 가지, 즉 각각의 노드의 자식 노드가 최대 2 개까지 존재할 수 있는데, 머클트리의 리프와 데이터는 노드에 저장되고, 머클트리의 루트는 월렛에 저장될 수 있다. 머클증명은 클라이언트 단말(100)에서 PoR 증명을 실행하는데 이용될 수 있다. 즉, 분산 P2P 시스템에서 가장 중요한 요소는 데이터 증명인데, 동일한 데이터가 다수의 지역에 분포하고, 한 곳에 위치한 데이터의 일부가 변경되면, 모든 지역의 데이터가 변경되어야 하기 때문이다. 이에 따라, 데이터 증명은 모든 곳에 동일한 데이터가 존재함을 입증하기 위한 역할을 하지만, 하나의 시스템이 데이터를 입증하길 원할 때마다 일일이 데이터 증명 절차를 거칠 수 없으므로, 이때 머클트리를 이용하여 시간 및 자원소모를 막을 수 있게 한다. 이를 위하여, 네트워크를 통해 전송되는 데이터의 양은 가능한 일정하게 제한을 두되, 네트워크를 통해 파일 전체를 전송하기 보다는, 해당 파일에 담긴 해시를 전송하는 방법을 이용한다. In addition, referring to (b) of FIG. 4, a diagram for explaining a Merkle tree used for data distribution, which is a family tree of a data structure composed of hashes, that is, a hash list, is a kind of tree structure, and is a leaf. A node is a hash of a block containing data, and a non-leaf node is a hash of a child node. At this time, the Merkle tree can have two branches, that is, up to two child nodes of each node. The leaf and data of the Merkle tree may be stored in the node, and the root of the Merkle tree may be stored in the wallet. The Merkle proof may be used to execute PoR proof in the client terminal 100. In other words, the most important factor in a distributed P2P system is data proof, because if the same data is distributed in multiple regions and some of the data located in one location is changed, data in all regions must be changed. Accordingly, the data proof serves to prove that the same data exists everywhere, but it is impossible to go through the data proof procedure every time a system wants to verify the data. It can prevent consumption. To this end, the amount of data transmitted through the network is limited as much as possible, but a method of transmitting a hash contained in the corresponding file is used rather than transmitting the entire file through the network.

따라서, 복수의 노드 중 어느 하나의 노드가 보유한 데이터가 변경된 경우, 블록체인 내 모든 노드의 데이터가 변경되고, 복수의 노드가 보유한 데이터 증명은 머클트리 및 머클트리를 경유한 검색(Retrievability via Merkle Tree and Merkle Proof)을 이용하여 증명되고, 블록체인을 이루는 제 1 노드가 제 2 노드로 데이터 파일의 해시를 전송하면, 제 2 노드는 머클트리 루트에 저장된 해시와 전송된 해시를 비교하여 변화가 존재하는지를 확인하고, 확인 결과 변화가 존재하는 경우, 변경된 데이터를 찾을 때까지, 전송된 해시의 두 개의 서브트리 루트를 제 1 노드로 요청하고, 제 1 노드는 요청에 대응하여 해시를 생성한 후 제 2 노드로 전송할 수 있다.Therefore, when data held by any one of the plurality of nodes is changed, data of all nodes in the blockchain is changed, and data proof held by the plurality of nodes is retrieved via a Merkle tree and a Merkle tree (Retrievability via Merkle Tree) and Merkle Proof), when the first node constituting the blockchain transmits a hash of the data file to the second node, the second node compares the hash stored in the Merkle tree root and the transmitted hash, and there is a change. If there is a change as a result of the verification, until the found data is changed, two subtree roots of the transmitted hash are requested to the first node, and the first node generates a hash in response to the request, and Can be sent to 2 nodes.

상술한 방법을 이용하는 경우, 컴퓨터들은 동시에 가동되기 때문에 다수의 해시를 한번에 계산할 수 있으며, 컴퓨터는 네트워크를 통해 파일 전체가 아닌 해시만을 전송하기 때문에 훨씬 빠르다. 뿐만 아니라, 내용이 다른 데이터들이 발견된다면, 오류를 고치기 위해 파일 전체를 다시 작성하기 보다는 오류 부분만을 수정하는 것이 시간단축에 도움을 준다. 즉, 머클트리는 매번 파일 전체를 검증할 필요가 없기 때문에 분산 시스템에서 유용하게 사용되고, 증명되지 않은 소스가 발견되거나 진위여부를 판별하는데 도움을 줄 수 있다.In the case of using the above-described method, since the computers are operated at the same time, a large number of hashes can be calculated at once, and the computer is much faster because only the hashes are transmitted over the network, not the entire file. In addition, if data with different contents is found, correcting only the error portion rather than rewriting the entire file to fix the error helps to save time. In other words, Merkle Tree is useful in distributed systems because it does not need to verify the entire file every time, and it can help to determine whether an unproven source is found or authentic.

한편, 분산 웹서버(Distributed Web Server, 300)를 도 5의 (a)를 참조하여 설명한다. 클라이언트 단말(100)의 요청에 대응하기 위하여 블록체인을 이루는 복수의 노드를 위한 분산 웹서버(300)와 클라이언트 단말(100)이 연동될 수 있다. 분산 웹서버(300)는 복수의 노드가 보유한 데이터 조각을 모아서 배열시키는 조각 콜렉터(Fragment Collector)와 연결되고, 조각 콜렉터를 통하여 클라이언트 단말(100)에서 요청한 데이터의 조각이 한 개의 파일을 형성되도록 배열 및 정렬되고, 분산 웹서버(300)는 배열 및 정렬된 데이터의 가공이 완료되는 경우, 클라이언트 단말(100)로 전송할 수 있다. Meanwhile, a distributed web server 300 will be described with reference to FIG. 5A. In order to respond to the request of the client terminal 100, the distributed web server 300 for a plurality of nodes constituting a blockchain and the client terminal 100 may be interlocked. The distributed web server 300 is connected to a fragment collector that collects and arranges pieces of data held by a plurality of nodes, and arranges pieces of data requested by the client terminal 100 through the piece collector to form a single file. And sorted, and the distributed web server 300 may transmit to the client terminal 100 when processing of the arrayed and sorted data is completed.

이때, 클라이언트 단말(100)에서 동적 콘텐츠를 요청하는 경우, 즉 웹 브라우저 상에 콘텐츠가 작동되기 전 미리 구동을 실시하는 종류의 스크립트나 코드인 경우, 클라이언트 단말(100)은 DNS 주소를 검색하고 확인하며, 확인이 된 경우 콘텐츠를 요청할 수 있다. 이때, 분산 웹서버(300)는, DNS 주소에 기반하여 요청된 콘텐츠에 대한 정보를 소유하고 있고, 소유하고 있는 정보에는 요청별로 응답하는 방법에 대한 콘텐츠 종류와 메타데이터도 포함되어 있다. 이때, 정적 웹사이트는 분산 웹서버(300)를 거치지 않더라도 일반적인 풀(600)로의 요청으로 충분히 제공받을 수 있음은 물론이다. At this time, when requesting dynamic content from the client terminal 100, that is, in the case of a script or code of a type that performs driving before the content is operated on the web browser, the client terminal 100 searches and checks the DNS address If it is confirmed, you can request content. At this time, the distributed web server 300 owns information on the requested content based on the DNS address, and the owned information also includes content type and metadata on how to respond to each request. In this case, the static website can be sufficiently provided as a request to the general pool 600 even without going through the distributed web server 300.

도 5의 (b)를 참조하면, 클라이언트 단말(100)에서 브라우저를 통한 URL 주소를 검색하는 경우, 블록체인 내 DNS(Domain Name System)을 담당하는 풀(600)인 루트 DNS 서버는 DNS 루트 영역 내의 기록 요청은 직접 클라이언트 단말(100)로 응답할 수 있고, DNS 루트 영역이 아닌 경우 신뢰도로 설정된 랭킹이 기준값 이내인 풀(600)이 포함된 TLD DNS 서버(Top-Level Domain Domain Name System Server)로 권한을 부여하여 대리응답하도록 할 수 있다.Referring to (b) of FIG. 5, when the client terminal 100 searches for a URL address through a browser, the root DNS server, which is a pool 600 in charge of the Domain Name System (DNS) in the blockchain, is a DNS root zone. My record request can be directly responded to the client terminal 100, and if it is not a DNS root zone, a TLD DNS server (Top-Level Domain Domain Name System Server) that includes a pool 600 whose ranking is set to a reliability is within a reference value You can authorize them to respond by proxy.

이때, DNS는 인터넷이나 개인 네트워크에 연결된 컴퓨터, 서비스, 또는 여러자원에 대해 계층 분화된 네이밍 시스템으로, DNS 서버는 인터넷이나 네트워크에 참여한 개체들에게 할당된 도메인에게 다른 정보를 연결하고, 네트워크 참여자 모두에게 할당된 도메인 네임들에 각기 다른 정보로 등록하며, 특정 컴퓨터의 블록체인 서비스들과 장치들을 찾고, 식별하기 위해 네트워크 프로토콜을 이용해 도메인 이름을 숫자로 된 IP 주소로 변환해줄 수 있다. 본 발명의 일 실시예에 따른 도메인 형식은, “d” +IANA (인터넷 할당 번호 관리기관)일 수 있다.At this time, DNS is a hierarchical naming system for computers, services, or multiple resources connected to the Internet or a private network, and the DNS server connects other information to domains assigned to objects participating in the Internet or networks, and all network participants. It registers domain information assigned to each domain with different information, and it can convert a domain name into a numeric IP address using a network protocol to find and identify blockchain services and devices of a specific computer. The domain format according to an embodiment of the present invention may be “d” +IANA (Internet allocation number management institution).

덧붙여서, 보상으로 주어지는 가상화폐를 설명하기로 한다. 가상화폐는 각 노드가 클라이언트 단말(100)의 요청으로 조각 데이터를 제공하거나, 조각 데이터를 모아 하나의 파일로 클라이언트 단말(100)로 제공하거나 하는 등 상술한 노드의 각 제공 행위에 대한 대가로 주어진다. 이때, 본 발명의 일 실시예에 따른 인터넷 서비스에서는 가상화폐를 채취함으로써 자급자족의 성격을 갖는 자가자금조달의 시스템을 가지기 때문에 제3자에게 광고수익을 제공할 필요가 없다. 현재, 대규모 기업은 개인이 중요한 정보를 소유하는 것을 원하지 않으며, 검열과 통제가 이루어지고 있는데, 본 발명의 일 실시예에 따른 가상화폐를 적용하는 경우, 가상화폐를 얻기 위하여, 블록체인 내에서 콘텐츠를 제공하는 노드 또는 데이터 조각을 제공하는 노드는 자신이 더 가치있는 콘텐츠나 데이터 조각을 보유하거나 제공하며, 더 높은 신뢰도를 얻기 위해 컴퓨팅 자원 및 네트워킹 자원의 품질을 높일 것이다.In addition, we will explain the cryptocurrency given as a reward. The virtual currency is given in exchange for each of the above-described node providing actions, such as each node providing piece data at the request of the client terminal 100 or collecting piece data and providing it to the client terminal 100 as a single file. . At this time, in the Internet service according to an embodiment of the present invention, there is no need to provide advertising revenue to a third party because it has a self-sufficiency system with self-sufficiency by collecting virtual currency. Currently, a large-scale enterprise does not want an individual to possess important information, and censorship and control are performed. In the case of applying a virtual currency according to an embodiment of the present invention, in order to obtain a virtual currency, content in the blockchain The node providing the data or the node providing the data fragment will own or provide more valuable content or data fragments, and will increase the quality of computing resources and networking resources in order to obtain higher reliability.

이때, 콘텐츠의 가치를 평가하기 위한 파라미터는, 콘텐츠의 수, 정서적 참여, 전체 조회수, 단일 조회수, 시청지속시간, 검색능력 적합성, 링크된 횟수, 요청 건수 등을 포함할 수 있다. 여기서, 정서적 참여(Emotional Engagement, E)는, 인터넷 상에서 상호적으로 이루어지는 정서적 지표를 통해 콘텐츠에 대한 선호도를 측정하는 지표이다. 이때, 선호도를 가진 이모티콘은 +1, 반감을 포함하는 부정 이모티콘은 -1을 부여할 수 있다. 조회수(View Count, Vc)는, 콘텐츠의 일별 시청횟수로, 예를 들어 2시간짜리 영화가 200만 조회수를 기록했다면, 200만은 콘텐츠 시청 수요의 산술적 수치가 될 수 있으므로, 조회수의 높음은 콘텐츠의 가치가 높다는 뜻으로 해석할 수 있다. 또한, 단일 조회수(Unique View Count, Vu)는, 조회수(View Count)와 비교하면, 조회수가 방문자를 기준으로 한 산술 수치라면, 단일 조회수는 콘텐츠를 기준으로 한 산술 수치다. 하나의 콘텐츠에 대한 뷰어별 방문수를 의미하고, 중복된 콘텐츠 시청을 제외한다. 시청 지속 시간(Stickiness, S)은 콘텐츠 시청자와 페이지, 웹사이트 방문자가 머무는 시간이다.At this time, the parameters for evaluating the value of the content may include the number of contents, emotional participation, the total number of views, the single number of views, the duration of viewing, suitability for search ability, the number of links, the number of requests, and the like. Here, emotional engagement (Emotional Engagement, E) is an index that measures the preference for content through emotional indicators that are interactive on the Internet. At this time, an emoticon with preference may be assigned +1, and a negative emoticon including half-path may be assigned -1. The number of views (Vc) is the number of views per day of the content. For example, if a 2-hour movie records 2 million views, 2 million can be an arithmetic number of content viewing demand. It can be interpreted as meaning high value. In addition, the single view count (Unique View Count, Vu), compared to the view count (View Count), if the number of views is an arithmetic value based on visitors, the single view count is an arithmetic value based on content. Refers to the number of visits per viewer for one content, and excludes viewing of duplicate content. The duration of viewing (Stickiness, S) is the time that content viewers, pages, and website visitors stay.

검색 능력 적합성(Relevance, R)은 콘텐츠의 적합성 여부이다. 즉, 검색 능력 적합성은 검색엔진과 알고리즘의 투명성으로 결정되는데, 구글과 같은 검색엔진은 광고 수익 창출을 위해 고안된 구조이므로, 불가피하게 이용자의 본래 관심과 무관한 검색 결과도 불러오고, 저하된 질의 콘텐츠를 제작한 부적합한 크리에이터에게 과잉보상을 주는 결과를 낳을 수도 있다. 이에 반해, 본 발명의 일 실시예는 채굴된 가상화폐의 일부, 예를 들어 10%가 유지개발로 사용되므로 제3자의 기관은 전혀 존재할 수 없다. 링크 (Linked, L)는 인터넷 상에서 언급되거나 참조된 횟수이고, SPC는 가상화폐의 경제적 가치이다.Relevance (R) is the suitability of content. In other words, the suitability of search ability is determined by the transparency of search engines and algorithms. Since search engines such as Google are designed to generate advertising revenue, inevitably bring in search results irrelevant to the user's original interests and deteriorated query content. It may also result in overcompensation for the inappropriate creator who produced. On the other hand, in an embodiment of the present invention, a part of the mined virtual currency, for example, 10% is used for maintenance and development, so there is no third party institution at all. Linked (L) is the number of times mentioned or referenced on the Internet, and SPC is the economic value of cryptocurrency.

Figure 112018065006505-pat00001
Figure 112018065006505-pat00001

상술한 파라미터와 수학식 1을 이용하여 특정시간(S)에 주어진 창의적 콘텐츠(CC)에 대한 가치(Cv)를 산정할 수 있다. 이때, Dv는 시장에서의 본 발명의 인터넷 서비스의 수요를, SPC는 시장에서 가상화폐의 가치를 의미한다. Dv가 높을수록 SPC의 실질가치는 높아지고, Dv가 낮을수록 SPC의 실질가치는 낮아지게 된다.Using the above-described parameter and Equation 1, the value Cv for the creative content CC given at a specific time S may be calculated. At this time, Dv means the demand for the Internet service of the present invention in the market, and SPC means the value of cryptocurrency in the market. The higher the Dv, the higher the real value of the SPC, and the lower the Dv, the lower the real value of the SPC.

이와 같은 도 2 내지 도 5의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.The method of providing Internet service using PoR proof based on the block chain and distributed infrastructure P2P model of FIGS. 2 to 5 is not described above. Internet service using PoR proof based on blockchain and distributed infrastructure P2P model through FIG. The description of the method is omitted because it can be easily inferred from the contents described or described.

도 6은 본 발명의 일 실시예에 따른 도 1의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 6을 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 6에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.FIG. 6 is a diagram illustrating a process in which data is transmitted and received between each of the components included in the Internet service providing system using PoR proof based on the blockchain and distributed infrastructure P2P model of FIG. 1 according to an embodiment of the present invention. Hereinafter, an example of a process in which data is transmitted/received between respective components will be described with reference to FIG. 6, but the present application is not limited to such an embodiment, and illustrated in FIG. 6 according to various embodiments described above. It is apparent to those skilled in the art that the process of transmitting and receiving data can be changed.

도 6을 참조하면, 클라이언트 단말은, 인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송한다(S6100).Referring to FIG. 6, the client terminal transmits a request event for retrieving or storing information through an Internet browser (S6100).

그리고, 클라이언트 단말은, 클라이언트 단말과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool) 중 노드 간의 기 설정된 인접도를 가지는 적어도 하나의 풀을 선택하고(S6200), 선택된 적어도 하나의 풀의 신뢰도를 PoR 증명을 이용하여 확인한다(S6300).In addition, the client terminal selects at least one pool having a predetermined adjacency between nodes among the clustered pools in which the nodes constituting the blockchain connected by the client terminal and the distributed P2P are clustered (S6200), and the selected at least one pool. Check the reliability of the PoR using the proof (S6300).

또한, 클라이언트 단말은, 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 요청 이벤트에 대응하는 조각 데이터를 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신한다(6400).Further, the client terminal selects a pool having the highest reliability value, and receives fragment data corresponding to the request event from a plurality of nodes included in the selected pool based on an index asynchronously (6400).

상술한 단계들(S6100~S6400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S6100~S6400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.The order between the above-described steps (S6100 to S6400) is only an example, and is not limited thereto. That is, the order between the above-described steps (S6100 ~ S6400) may be mutually variable, some of which may be executed or deleted simultaneously.

이와 같은 도 6의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 5를 통해 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Such a method of providing an Internet service using the PoR proof based on the blockchain and distributed infrastructure P2P model of FIG. 6 is not described above. The Internet service using the PoR proof based on the blockchain and distributed infrastructure P2P model through FIGS. The description of the method is omitted because it can be easily inferred from the contents described or described.

이와 같은 도 6의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 5를 통해 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Such a method of providing an Internet service using the PoR proof based on the blockchain and distributed infrastructure P2P model of FIG. 6 is not described above. The Internet service using the PoR proof based on the blockchain and distributed infrastructure P2P model through FIGS. The description of the method is omitted because it can be easily inferred from the contents described or described.

도 6을 통해 설명된 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. A method for providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment described with reference to FIG. 6 includes a record including instructions executable by a computer such as an application or a program module executed by a computer It can also be implemented in the form of a medium. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, the computer-readable medium may include any computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The method for providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model according to an embodiment of the present invention described above is an application installed in a terminal (which is a program included in a platform or an operating system basically installed in the terminal). It may be included), or may be executed by an application (i.e., a program) that the user directly installed on the master terminal through an application providing server such as an application store server, an application, or a web server related to the corresponding service. In this sense, the above-described method for providing Internet service using PoR proof based on the blockchain and distributed infrastructure P2P model according to an embodiment of the present invention is implemented as an application (that is, a program) basically installed on a terminal or directly installed by a user It can be recorded on a computer-readable recording medium such as a terminal.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustration only, and those skilled in the art to which the present invention pertains can understand that the present invention can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and it should be interpreted that all changes or modified forms derived from the meaning and scope of the claims and equivalent concepts thereof are included in the scope of the present invention. do.

Claims (7)

클라이언트 단말에서 실행되는 인터넷 서비스 제공 방법에 있어서,
인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송하는 단계;
상기 클라이언트 단말과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool) 중 노드 간의 기 설정된 인접도를 가지는 적어도 하나의 풀을 선택하는 단계;
상기 선택된 적어도 하나의 풀의 신뢰도를 PoR 증명을 이용하여 확인하는 단계;
상기 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 상기 요청 이벤트에 대응하는 조각 데이터를 상기 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신하는 단계를 포함하되,
상기 수신하는 단계는, 상기 복수의 노드 중 어느 하나의 노드에서 상기 요청 이벤트를 처리할 수 없는 경우, 상기 어느 하나의 노드는 다른 풀에 존재하는 노드로 상기 요청 이벤트를 전송하는 단계를 포함하고,
각 풀의 복수의 노드는 데이터 조각의 복수의 사본을 미러사이트 형식으로 유지하는 데이터 조각 복사(Data Fragmentation Mirroing)를 실행하여 보유하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.
In the Internet service providing method executed in the client terminal,
Transmitting a request event for retrieving or storing information through an internet browser;
Selecting at least one pool having a predetermined proximity between nodes among the clustered pools in which the nodes constituting the blockchain connected by the client terminal and the distributed P2P are clustered;
Checking the reliability of the selected at least one pool using PoR proof;
Selecting a pool having the highest reliability value, and receiving fragment data corresponding to the request event based on an index asynchronously from a plurality of nodes included in the selected pool,
The receiving step includes the step of transmitting the request event to a node existing in another pool when the one of the plurality of nodes cannot process the request event.
Internet service using PoR proof based on blockchain and distributed infrastructure P2P model, in which multiple nodes of each pool are executed and retained by Data Fragmentation Mirroing, which maintains multiple copies of data fragments in a mirror site format. How to provide.
제 1 항에 있어서,
상기 PoR 증명은, 노드별 가동시간 및 저장공간명성의 합으로 상기 노드의 신뢰도(R)가 산출되는 공식(R=Ut+Sr)을 의미하며,
상기 노드별 가동시간(Ut)은, 1시간(P)마다 하나의 노드가 데이터 저장기능을 수행할 수 있는 총 시간(T)의 백분율로 산출되고,
상기 저장공간명성(Sr)은 1시간동안 각 노드에서 유지해야 하는 기 설정된 최소유지저장공간(Mms)에 대한 하나의 노드의 저장공간 여유분(S)에 대한 평균용량의 비율을 백분율한 값으로 산출되는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.
According to claim 1,
The PoR proof means a formula (R=Ut+Sr) in which the reliability (R) of the node is calculated as a sum of uptime and storage space reputation for each node,
The operation time (Ut) for each node is calculated as a percentage of the total time (T) at which one node can perform a data storage function every 1 hour (P),
The storage space reputation (Sr) is calculated as a percentage of the ratio of the average capacity to the storage space (S) of one node to the minimum storage space (Mms) that must be maintained at each node for 1 hour. Internet service providing method using PoR proof based on P2P model of blockchain and distributed infrastructure.
제 2 항에 있어서,
상기 풀의 신뢰도는, 상기 풀에 포함된 복수의 노드의 신뢰도(Ri)를 합한 값(Σ, i는 1부터 n까지)을 상기 노드의 수(n)로 나눈 값으로, 상기 복수의 노드의 신뢰도의 평균이고,
상기 클라이언트 단말과 메세지를 송수신하는 노드는 상기 풀 내의 복수의 노드를 관리하면서 상기 풀에 속해있는 노드인 풀 매니저 노드인 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.
According to claim 2,
The reliability of the pool is obtained by dividing the sum of the reliability (Ri) of a plurality of nodes included in the pool (Σ, i is from 1 to n) by the number of nodes (n). Average of reliability,
A node that transmits and receives messages to and from the client terminal is a pool manager node that is a node belonging to the pool while managing a plurality of nodes in the pool, and provides a method for providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model.
삭제delete 제 1 항에 있어서,
상기 복수의 노드 중 어느 하나의 노드가 보유한 데이터가 변경된 경우, 상기 블록체인 내 모든 노드의 데이터가 변경되고,
상기 복수의 노드가 보유한 데이터 증명은 머클트리 및 머클트리를 경유한 검색(Retrievability via Merkle Tree and Merkle Proof)을 이용하여 증명되고,
상기 블록체인을 이루는 제 1 노드가 제 2 노드로 데이터 파일의 해시를 전송하면, 상기 제 2 노드는 머클 트리 루트에 저장된 해시와 상기 전송된 해시를 비교하여 변화가 존재하는지를 확인하고,
상기 확인 결과 변화가 존재하는 경우, 변경된 데이터를 찾을 때까지, 상기 전송된 해시의 두 개의 서브트리 루트를 상기 제 1 노드로 요청하고, 상기 제 1 노드는 요청에 대응하여 해시를 생성한 후 상기 제 2 노드로 전송하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.
According to claim 1,
When data held by any one of the plurality of nodes is changed, data of all nodes in the blockchain is changed,
The data proof possessed by the plurality of nodes is verified using a retrievability via Merkle Tree and Merkle Proof,
When the first node constituting the blockchain transmits a hash of a data file to the second node, the second node compares the hash stored in the Merkle tree root with the transmitted hash to check whether a change exists,
If there is a change as a result of the check, until the changed data is found, two subtree roots of the transmitted hash are requested to the first node, and the first node generates a hash in response to the request, and then the Method of providing Internet service using PoR proof based on P2P model of blockchain and distributed infrastructure, which is transmitted to the second node.
제 1 항에 있어서,
상기 클라이언트 단말의 요청에 대응하기 위하여 상기 블록체인을 이루는 복수의 노드를 위한 분산 웹서버와 상기 클라이언트 단말이 연동되고,
상기 분산 웹서버는 상기 복수의 노드가 보유한 데이터 조각을 모아서 배열시키는 조각 콜렉터(Fragment Collector)와 연결되고, 상기 조각 콜렉터를 통하여 상기 클라이언트 단말에서 요청한 데이터의 조각이 한 개의 파일을 형성되도록 배열 및 정렬되고,
상기 분산 웹서버는 배열 및 정렬된 데이터의 가공이 완료되는 경우, 상기 클라이언트 단말로 전송하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.
According to claim 1,
In order to respond to the request of the client terminal, the distributed web server for a plurality of nodes constituting the blockchain and the client terminal are interlocked,
The distributed web server is connected to a fragment collector that collects and arranges pieces of data held by the plurality of nodes, and arranges and arranges pieces of data requested by the client terminal through the piece collector to form a single file. Become,
The distributed web server is to transmit to the client terminal when processing of the arranged and sorted data is completed, a method of providing Internet service using PoR proof based on a blockchain and distributed infrastructure P2P model.
제 1 항에 있어서,
상기 클라이언트 단말에서 브라우저를 통한 URL 주소를 검색하는 경우, 상기 블록체인 내 DNS(Domain Name System)을 담당하는 풀인 루트 DNS 서버는 DNS 루트 영역 내의 기록 요청은 직접 상기 클라이언트 단말로 응답하고,
상기 DNS 루트 영역이 아닌 경우 상기 신뢰도로 설정된 랭킹이 기준값 이내인 풀이 포함된 TLD DNS 서버(Top-Level Domain Domain Name System Server)로 권한을 부여하여 대리응답하도록 하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.
According to claim 1,
When the client terminal searches for a URL address through a browser, the root DNS server, which is the pool responsible for the Domain Name System (DNS) in the blockchain, responds directly to the client terminal for a record request in the DNS root zone,
If it is not the DNS root zone, it is to authorize and respond to the TLD DNS server (Top-Level Domain Domain Name System Server) containing the pool whose ranking is set within the standard value is within the reference value, so that it can respond in a proxy manner, blockchain and distributed infrastructure P2P Internet service provision method using model-based PoR proof.
KR1020180076618A 2018-07-02 2018-07-02 Method for providing internet service using proof-of-reliability based on block-chain and distributed infrastructure p2p model KR102107237B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180076618A KR102107237B1 (en) 2018-07-02 2018-07-02 Method for providing internet service using proof-of-reliability based on block-chain and distributed infrastructure p2p model
PCT/KR2018/014854 WO2020009287A1 (en) 2018-07-02 2018-11-28 Method for providing internet service using por on basis of blockchain and distributed infrastructure p2p model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180076618A KR102107237B1 (en) 2018-07-02 2018-07-02 Method for providing internet service using proof-of-reliability based on block-chain and distributed infrastructure p2p model

Publications (2)

Publication Number Publication Date
KR20200003625A KR20200003625A (en) 2020-01-10
KR102107237B1 true KR102107237B1 (en) 2020-06-03

Family

ID=69060675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180076618A KR102107237B1 (en) 2018-07-02 2018-07-02 Method for providing internet service using proof-of-reliability based on block-chain and distributed infrastructure p2p model

Country Status (2)

Country Link
KR (1) KR102107237B1 (en)
WO (1) WO2020009287A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474866B1 (en) * 2020-11-16 2022-12-05 두나무 주식회사 Method and apparatus for managing document based on blockchain network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211782A1 (en) * 2009-02-16 2010-08-19 Microsoft Corporation Trusted cloud computing and services framework
WO2017170679A1 (en) 2016-03-31 2017-10-05 株式会社bitFlyer Private node, processing method for private node, and program for same
US20170364700A1 (en) * 2015-06-02 2017-12-21 ALTR Solutions, Inc. Immutable logging of access requests to distributed file systems
US20180089436A1 (en) 2016-09-29 2018-03-29 Intel Corporation Methods And Apparatus To Facilitate Blockchain-based Boot Tracking

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8381062B1 (en) * 2007-05-03 2013-02-19 Emc Corporation Proof of retrievability for archived files
US11270263B2 (en) * 2013-09-12 2022-03-08 Netspective Communications Llc Blockchain-based crowdsourced initiatives tracking system
EP3560136B1 (en) * 2016-12-22 2020-12-02 Itext Group NV Distributed blockchain-based method for saving the location of a file

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211782A1 (en) * 2009-02-16 2010-08-19 Microsoft Corporation Trusted cloud computing and services framework
US20170364700A1 (en) * 2015-06-02 2017-12-21 ALTR Solutions, Inc. Immutable logging of access requests to distributed file systems
WO2017170679A1 (en) 2016-03-31 2017-10-05 株式会社bitFlyer Private node, processing method for private node, and program for same
US20180089436A1 (en) 2016-09-29 2018-03-29 Intel Corporation Methods And Apparatus To Facilitate Blockchain-based Boot Tracking

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Bin Liu 외 4인, "Blockchain based Data Integrity Service Framework for IoT data", IEEE, 2017
Binanda Sengupta외 3인, "Retricoin: Bitcoin Based on Compact Proofs of Reliability", ACM, 2016

Also Published As

Publication number Publication date
WO2020009287A1 (en) 2020-01-09
KR20200003625A (en) 2020-01-10

Similar Documents

Publication Publication Date Title
US10121169B2 (en) Table level distributed database system for big data storage and query
US20220321927A1 (en) Providing access to managed content
US9348918B2 (en) Searching content in distributed computing networks
CN102333092B (en) Network user identification method and application server
US20120179748A1 (en) System and method for searching for specific types of people or information on a peer-to-peer network
CN1528079A (en) Method and apparatus for peer-to-peer services
US11126456B2 (en) Tracking usage of user interaction data using blockchains
US20160179823A1 (en) Method for Processing and Displaying Real-Time Social Data on Map
US11416564B1 (en) Web scraper history management across multiple data centers
Zeng et al. Toward cost‐effective replica placements in cloud storage systems with QoS‐awareness
WO2022057525A1 (en) Method and device for data retrieval, electronic device, and storage medium
US20090234858A1 (en) Use Of A Single Service Application Instance For Multiple Data Center Subscribers
Yang et al. Catch: cloud data acquisition through comprehensive and hybrid approaches
KR102107237B1 (en) Method for providing internet service using proof-of-reliability based on block-chain and distributed infrastructure p2p model
Durao et al. Usto. re: A private cloud storage software system
Yang et al. Incorporating site-level knowledge for incremental crawling of web forums: A list-wise strategy
Vigil-Hayes et al. FiDO: A Community-based Web Browsing Agent and CDN for Challenged Network Environments
Shailesh et al. Performance driven development framework for web applications
Yin et al. Formalization and analysis of haystack architecture from process algebra perspective
Fan et al. Adaptive content management for UGC video delivery in mobile internet era
송정환 Multipath congestion control, Decentralization, and Privacy protection in Future networks
Kyryk et al. Analysis of the Technologies and Methodologies of Data Transmission in Distributed Information Systems
Mohamed-Salem Scalable server selection for Web applications using a broker node
Bochmann et al. Quality of service management issues in electronic commerce applications
Pérez et al. HIGH-PERFORMANCE AND FAULT-TOLERANT TECHNIQUES FOR MASSIVE DATA DISTRIBUTION IN ONLINE COMMUNITIES daniel higuero alonso-mardones

Legal Events

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