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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 claims description 30
- 239000012634 fragment Substances 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000013467 fragmentation Methods 0.000 claims description 3
- 238000006062 fragmentation reaction Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 230000000717 retained effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000009826 distribution Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002996 emotional effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H04L61/1511—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1082—Resource delivery mechanisms involving incentive schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations 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 증명을 이용한 인터넷 서비스 제공 방법에 관한 것으로, 각 노드의 신뢰도를 검증하여 자원 요청 및 검색의 가용성 및 속도를 증가시키고, 자원제공에 대한 보상을 지급하는 방법을 제공한다.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
이때, 도 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
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 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
여기서, 클라이언트 단말(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
분산 웹서버(300)는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 클라이언트 단말(100)의 파일 요청에 언제나 응답하는 서버일 수 있다. 블록체인 내에서는 모두가 노드로 정의되나, 그 중 클라이언트 단말(100)의 요청에 언제 어디서나 응답을 하기 위한 서버로 정의될 수 있다. 분산 웹서버(300)는, 동적 또는 정적 웹서버일 수 있으며, 클라이언트 단말(100)로부터 요청이 존재하는 경우 풀(600)에 분산된 데이터 조각을 조각 콜렉터를 이용하여 수집, 배열 및 정렬시키며 컴파일의 가공을 마친 후 클라이언트 단말(100)로 전송하는 서버일 수 있다.The distributed
여기서, 분산 웹서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the distributed
루트 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
여기서, 루트 DNS 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the
TLD DNS 서버(500)는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 상위 랭킹된 풀을 보유하거나 상위 랭킹된 풀인 서버일 수 있다. 이때, TLD DNS 서버(500)는, 루트 DNS 서버(400)가 요청한 정보를 제공하거나, 루트 DNS 서버(400)에서 TLD DNS 서버(500)로부터 수신한 정보와 일치하는 콘텐츠 데이터 조각을 보유하고 있는 풀을 알려달라고 하는 경우, 이에 대응하는 정보를 제공하는 서버일 수 있다. The
여기서, TLD DNS 서버(500)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. Here, the
풀(600)은, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 클라이언트 단말(100)로부터 자료를 요청받는 노드의 집합일 수 있다. 이때, 풀(600)을 관리하는 매니저가 존재할 수 있고, 매니저도 물론 노드일 수 있다. 또한, 풀(600)은, 각각의 노드의 신뢰도를 바탕으로 한 신뢰도를 보유하고 있으며, 이에 기반하여 클라이언트 단말(100)로 자료를 제공할 수 있는 기회가 부여되며, 이에 대한 보상을 받는 집합일 수 있다.The
여기서, 풀(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
도 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
본 발명의 일 실시예에 따른 분산 웹서버(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
도 2를 참조하면, 전송부(110)는, 인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송할 수 있다. 이때, 인터넷 브라우저는 본 발명의 일 실시예에 따라 개발된 인터넷 브라우저로, 기존 웹사이트와 본 발명의 플랫폼 기반 웹사이트 모두 접속할 수 있는 브라우저이며, 사용자의 데이터를 수집하여 허가없이 타 기관에게 전송하지 않고, PoR 프로토콜을 이용하여 보안성과 자유도가 향상된 브라우저이다. 이때, PoR은 이하에서 후술하기로 한다.Referring to FIG. 2, the
선택부(120)는, 클라이언트 단말(100)과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool, 600) 중 노드 간의 기 설정된 인접도를 가지는 적어도 하나의 풀(600)을 선택할 수 있다. 이때, 노드는 풀 내에 위치한 채굴자일 수 있고, 풀에서 각자의 빠른 대역폭과 여분의 하드디스크 공간을 빌려주면서 클라이언트 단말(100)을 위하여 네트워크 자원 및 컴퓨팅 자원을 제공하는 기동력을 담당할 수 있고, 이에 대한 대가로 인센티브인 가상화폐를 부여받는 단말일 수 있다. 그리고, 노드는 데이터의 분산된 부분을 담당하고, 새로운 머클트리는 이전에 생성된 머클트리로 이어지게 된다. 또한, 풀(600)은, 상술한 바와 같이 노드의 집합 공간으로, 1개의 풀(600)에는 1 개의 풀 관리자가 포함될 수 있다. 풀(600)은, 클라이언트 단말(100)과 직접 소통을 할 수 있고, 이는 애플리케이션이나 브라우저를 통할 수 있다. 그리고, 풀 관리자는 신뢰할 수 있는 노드 범위 안에서 무작위로 결정될 수 있다. 이러한 풀의 개념도입으로 인하여 다른 여러 노드에 분산된 데이터를 반영할 경우 효율적으로 운용할 수 있다. 각각의 풀(600)에 포함될 수 있는 노드의 수는 제한되는데, 이러한 풀(600) 개념의 도입은 클라이언트 단말(100)에서 자신에게 적합한 노드를 찾는데 훨씬 수월할 수 있다. 즉, 1000개의 노드를 모두 검색하는 것보다는 10개의 풀을 검색하는것이 훨씬 이득이기 때문이다. 이때, 1 개의 풀은 1000개의 노드를 수용할 수 있지만, 그 수는 실시예에 따라 증감될 수 있다.The
확인부(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
즉, 성공적인 분산 애플리케이션을 향한 열쇠가 되는 것은 분산된 노드의 신뢰도를 최상의 활성화 단계로 유지하는 것에서 시작하고, 신뢰도가 높은 노드는 분산된 네트워크에 대하여 빠르고 안정적인 연결을 보장해 줄 수 있다. 하나의 노드는 최소 한 개의 저장 요청에 해당하는 데이터 조각을 위한 저장 공간을 마련할 수 있어야 한다. 다시 말하면, 특정 시간에 예고 없이 발생할 저장 요청에 대한 평균 수요에 맞춰 최소 저장 공간 조건을 만족 해야 한다. 이를 위하여 신뢰도와 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
데이터 분할 과정이란 데이터를 좀 더 관리하기 쉽도록 더 작게 나누는 과정을 의미하는데, 기억 장치 네트워크에 분산 알고리즘을 적용하는 방식이다. 이때, 분산 알고리즘은 풀의 위치, 대역폭, 가동시간 순위, 기억장치 수의 파라미터를 고려할 수 있다. 여기서, 우선순위로 고려되어야 할 인자는, 가장 근접한 풀의 신뢰도이고, 신뢰도에 대해서는 설명한 바와 같다. 이때, 분산된 데이터의 최대 사이즈는 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
이때, 풀(600)은 해당 풀 안에 존재하는 노드가 사용할 기억장치를 종합해서 해당 기록을 끊임없이 유지하기 때문에, 주어진 시간에 분산된 데이터를 충분히 저장할 수 있는 풀(600)을 찾는데 도움이 될 수 있고, 이는 클라이언트 단말(100)과 노드 사이의 불필요한 소통을 없앨 수 있다. 그리고, 조건에 맞지 않는 다른 풀에 포함된 데이터를 이용하는 것을 피할 수 있다. 이때, 근접한 풀에 분산된 데이터를 수용할 기억 장치가 없는 경우 다른 풀에 저장될 수 있고, 동일 풀에 존재하는 노드끼리는 다른 풀에 존재하는 노드보다 많은 빈도, 주기를 가지며 커뮤니케이션을 할 수 있다. 이때, 대역폭 조건이 기준값을 만족하지 못한 경우에는 데이터 분산 프로세스를 거쳤을 경우 분산된 데이터의 조각의 크기도 작아질 수 있다.At this time, since the
데이터 분산 프로세스가 동작하는 경우 클라이언트 단말(100)의 하나의 파일은 데이터 조각으로 분할되고, 분할된 데이터 조각은 각 노드에 분산되기 위해 클라이언트 단말(100)로부터 추출되어야 하는데, 그 전에 도 3의 (b)와 같이 검사를 받게 된다. 머클트리 파편검사를 통하여 입출력 장치와 처리장치에 부담을 주는 무거운 해시를 가볍게 처리할 수 있다. 또한, 데이터 조각 분배 프로세스는 클라이언트 단말(100)의 머클트리 루트 및 길이를 저장하고, 데이터 조각 및 머클트리 리프 노드의 전송을 향상시킬 수 있다. 이렇게 두 가지를 병행하여 데이터를 분할 및 분배하는 경우 풀(600) 내의 노드에 데이터 조각을 효율적으로 분배할 수 있게 된다. 이때, 풀(600) 내에 조각저장을 용이하게 할 수 있도록 오픈소스 IPFS 프로토콜을 기반으로 할 수 있다. 한편, 데이터 조각 복사는 조각을 복제 및 유지하는 것을 말한다. 즉, 노드는 인접 풀(600)의 노드로부터 데이터 조각을 복제할 수 있는데, 그 이유는 데이터 조각의 실용성을 보장하고 일부 노드가 동기화를 실시하지 않는 경우를 대비하기 위함이다. When the data distribution process is operated, one file of the
다시 도 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
이때, 데이터 조각 복사를 도 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
또한 도 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
따라서, 복수의 노드 중 어느 하나의 노드가 보유한 데이터가 변경된 경우, 블록체인 내 모든 노드의 데이터가 변경되고, 복수의 노드가 보유한 데이터 증명은 머클트리 및 머클트리를 경유한 검색(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
이때, 클라이언트 단말(100)에서 동적 콘텐츠를 요청하는 경우, 즉 웹 브라우저 상에 콘텐츠가 작동되기 전 미리 구동을 실시하는 종류의 스크립트나 코드인 경우, 클라이언트 단말(100)은 DNS 주소를 검색하고 확인하며, 확인이 된 경우 콘텐츠를 요청할 수 있다. 이때, 분산 웹서버(300)는, DNS 주소에 기반하여 요청된 콘텐츠에 대한 정보를 소유하고 있고, 소유하고 있는 정보에는 요청별로 응답하는 방법에 대한 콘텐츠 종류와 메타데이터도 포함되어 있다. 이때, 정적 웹사이트는 분산 웹서버(300)를 거치지 않더라도 일반적인 풀(600)로의 요청으로 충분히 제공받을 수 있음은 물론이다. At this time, when requesting dynamic content from the
도 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
이때, 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
이때, 콘텐츠의 가치를 평가하기 위한 파라미터는, 콘텐츠의 수, 정서적 참여, 전체 조회수, 단일 조회수, 시청지속시간, 검색능력 적합성, 링크된 횟수, 요청 건수 등을 포함할 수 있다. 여기서, 정서적 참여(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-
검색 능력 적합성(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.
상술한 파라미터와 수학식 1을 이용하여 특정시간(S)에 주어진 창의적 콘텐츠(CC)에 대한 가치(Cv)를 산정할 수 있다. 이때, Dv는 시장에서의 본 발명의 인터넷 서비스의 수요를, SPC는 시장에서 가상화폐의 가치를 의미한다. Dv가 높을수록 SPC의 실질가치는 높아지고, Dv가 낮을수록 SPC의 실질가치는 낮아지게 된다.Using the above-described parameter and
이와 같은 도 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.
상기 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.
상기 풀의 신뢰도는, 상기 풀에 포함된 복수의 노드의 신뢰도(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.
상기 복수의 노드 중 어느 하나의 노드가 보유한 데이터가 변경된 경우, 상기 블록체인 내 모든 노드의 데이터가 변경되고,
상기 복수의 노드가 보유한 데이터 증명은 머클트리 및 머클트리를 경유한 검색(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.
상기 클라이언트 단말의 요청에 대응하기 위하여 상기 블록체인을 이루는 복수의 노드를 위한 분산 웹서버와 상기 클라이언트 단말이 연동되고,
상기 분산 웹서버는 상기 복수의 노드가 보유한 데이터 조각을 모아서 배열시키는 조각 콜렉터(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.
상기 클라이언트 단말에서 브라우저를 통한 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.
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)
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)
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)
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 |
-
2018
- 2018-07-02 KR KR1020180076618A patent/KR102107237B1/en active IP Right Grant
- 2018-11-28 WO PCT/KR2018/014854 patent/WO2020009287A1/en active Application Filing
Patent Citations (4)
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)
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 |