WO2020009287A1 - Method for providing internet service using por on basis of blockchain and distributed infrastructure p2p model - Google Patents
Method for providing internet service using por on basis of blockchain and distributed infrastructure p2p model Download PDFInfo
- Publication number
- WO2020009287A1 WO2020009287A1 PCT/KR2018/014854 KR2018014854W WO2020009287A1 WO 2020009287 A1 WO2020009287 A1 WO 2020009287A1 KR 2018014854 W KR2018014854 W KR 2018014854W WO 2020009287 A1 WO2020009287 A1 WO 2020009287A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pool
- node
- data
- nodes
- blockchain
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000012634 fragment Substances 0.000 claims abstract description 32
- 238000003860 storage Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 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
- 238000012423 maintenance Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002996 emotional effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 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
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 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
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000003362 replicative effect Effects 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
-
- 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]
Definitions
- the present invention relates to an Internet service providing method using blockchain and distributed infrastructure P2P model-based PoR authentication, which verifies the reliability of each node to increase the availability and speed of resource requests and retrieval, and provides compensation for resource provision. Provide a method.
- Korean Patent Publication No. 2011-0056034 (published on May 26, 2011), which is a related art, provides a user with a search box of a search site.
- a search history storage means for storing the keyword entered in the web browser, and storing the link information of the search result posted by the search site according to the keyword for each search site, and in connection with the internet communication module of the web browser, Disclosed is a configuration for identifying and delivering a search site and a keyword, and checking and storing link information of a search result clicked by a user among search results posted by the search site.
- the above-described configuration is merely to prevent others from seeing their keywords while using the existing Internet, and is a simple structure that cannot prevent information collected by a browser of the Internet.
- the information that a user obtains over the Internet does not change the paradigm that is limited and controlled by content providers, and the benefits of distributing personal information ensure that only a few large corporations maintain a structure called the ship. It is required to develop a platform having a profit structure that decentralizes and divides the cost of using information among information providers.
- data is distributed based on a blockchain and stored in a node forming a blockchain, and the reliability of the stored node is measured to retrieve and provide data from a pool forming a node having a high reliability.
- PoR proof based on blockchain and distributed infrastructure P2P model which allows nodes sharing the data resources to be rewarded with cryptocurrency to prevent equitable wealth distribution and control of contents by some large enterprises.
- 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.
- an embodiment of the present invention the step of transmitting a request event for retrieving or storing information through an Internet browser, a node forming a block chain connected to the client terminal and distributed P2P Selecting at least one pool having a predetermined proximity among the clustered pools, checking the reliability of the selected at least one pool using PoR proof, and selecting the pool having the highest reliability value. Selecting and receiving fragment data corresponding to the request event asynchronously based on the index from a plurality of nodes included in the selected pool.
- any one of the above-described means for solving the problem of the present invention by distributing the data based on the block chain and storing the data in the nodes forming the block chain, by measuring the reliability of the stored node data from the pool forming a node with high reliability Nodes that share data resources can be rewarded with cryptocurrencies to prevent equal distribution of wealth and control of content by some large enterprises.
- FIG. 1 is a diagram illustrating an Internet service providing system using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a client terminal included in the system of FIG. 1.
- FIG. 3 is a diagram illustrating an embodiment in which data distribution and file storage processes are implemented in an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
- FIG. 4 is a diagram illustrating a data fragment copying process and a Merkle tree used for data distribution in an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
- FIG. 5 illustrates an embodiment of collecting data fragments from a distributed web server and serving a client terminal in an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention, and a process of accessing the Internet. It is a diagram for explaining one embodiment.
- FIG. 6 is a flowchart illustrating a method of providing an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
- the present invention provides a method for providing an Internet service executed in a client terminal, comprising: transmitting a request event for retrieving or storing information through an Internet browser; Selecting at least one pool having a predetermined proximity among clustered pools of nodes forming a blockchain connected to the client terminal through distributed P2P; Confirming reliability of the at least one selected pool using PoR proof; Selecting a pool having the highest reliability value and asynchronously receiving fragment data corresponding to the request event from a plurality of nodes included in the selected pool based on an index; It is to provide a method for providing an Internet service using a blockchain and distributed infrastructure P2P model based PoR authentication.
- the term 'unit' includes a unit realized by hardware, a unit realized by software, and a unit realized by both.
- one unit may be realized using two or more pieces of hardware, or two or more units may be realized by one piece of hardware.
- Some of the operations or functions described as being performed by the terminal, the apparatus, or the device may be performed instead in the server connected to the terminal, the apparatus, or the device.
- some of the operations or functions described as being performed by the server may be performed by the terminal, apparatus or device connected to the server.
- mapping or matching with a terminal mean that a unique number of a terminal or identification information of an individual, which is identification data of the terminal, is mapped or matched. Can be interpreted as
- the Internet service providing system 1 using block chain and distributed infrastructure P2P model based PoR authentication includes a client terminal 100, a distributed web server 300, a root DNS server 400, and a TLD (Top). Level Domain) may include a DNS server 500 and a pool 600.
- the Internet service providing system 1 using the blockchain and distributed infrastructure P2P model-based PoR authentication of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1.
- each component of FIG. 1 is generally connected through a network 200.
- the client terminal 100 is a distributed web server 300, a root DNS server 400, a TLD DNS server 500, and a pool 600 via a network 200. It can be connected with.
- the distributed web server 300 may be connected to the client terminal 100 and the pool 600 through the network 200.
- the root DNS server 400 may be connected to the client terminal 100 and the TLD DNS server 500 through the network 200.
- the TLD DNS server 500 may be connected to the root DNS server 400 and the client terminal 100 through the network 200.
- the pool 500 may be connected to the client terminal 100 through the network 200.
- the network refers to a connection structure capable of exchanging information between respective nodes such as a plurality of terminals and servers.
- a network examples include RF, 3rd Generation Partnership Project (3GPP) network, and long term (LTE).
- Evolution network 5th Generation Partnership Project (5GPP) network, World Interoperability for Microwave Access (WIMAX) network, Internet, Local Area Network (LAN), Wireless Local Area Network (WLAN), 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, but is not limited thereto.
- 5GPP 3rd Generation Partnership Project
- 5GPP Fifth Generation Partnership Project
- WWX World Interoperability for Microwave Access
- WLAN Local Area Network
- WAN Wide Area Network
- PAN Personal Area Network
- Bluetooth Bluetooth
- NFC satellite broadcasting network
- analog broadcasting network analog broadcasting network
- DMB Digital Multimedia Broadcasting
- the term “at least one” is defined as a singular and plural term, and each component may exist in the singular or plural, even though the term “at least one” does not exist, and may mean the singular or plural. It will be self explanatory. In addition, the singular or plural elements may be changed according to embodiments.
- 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. All resources in servers, domain systems, and storage spaces use computing or networking resources corresponding to the nodes that make up the blockchain. To this end, each node in the blockchain is evaluated for reliability when the client requests a file or performs a search, which is credited with PoR proof, and is highly trusted. The more the more resources can be provided to the client, the reward for providing the resources, which may be cryptocurrency.
- the node is divided into a pool including a plurality of nodes, and it is determined whether resources can be given to the client based on the reliability of the pool.
- the resources are distributed and stored, and the stored partitioned data are collected and provided at the client's request, and if there is an error in the data, if there is a change in the data, all nodes in the blockchain share the same file.
- the client terminal 100 stores data through a node consisting of a distributed infrastructure P2P and a blockchain using a web page, an app page, a program or an application related to an Internet service using a blockchain and distributed infrastructure P2P model based PoR authentication.
- the terminal may request, request an internet search, or use a streaming service.
- the client terminal 100 may be a terminal that selects the pool 600 having the closest and highest reliability among the plurality of pools 600 connected to the client terminal 100 and requests data.
- the client terminal 100 may be a terminal that obtains a response through the root DNS server 400 or the TLD DNS server 500.
- a node may be a node from a viewpoint of providing a resource to a client terminal, but a role of requesting and receiving a resource is defined as a client, and a role of providing a resource is defined as a node.
- the client terminal may be a node when providing the pores, it will be apparent that the node may also be a client terminal.
- the client terminal 100 may be implemented as a computer that can access a server or a terminal in a remote place through a network.
- the computer may include, for example, a navigation, a laptop equipped with a web browser, a desktop, a laptop, and the like.
- the client terminal 100 may be implemented as a terminal that can access a server or terminal in a remote place through a network.
- the client terminal 100 is, for example, a wireless communication device that ensures portability and mobility, and includes a navigation, a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular (PDC), and a personal PHS (PHS).
- PCS personal communication system
- GSM global system for mobile communications
- PDC personal digital cellular
- PHS personal PHS
- PDA Personal Digital Assistant
- IMT International Mobile Telecommunication
- CDMA Code Division Multiple Access
- W-CDMA W-Code Division Multiple Access
- WBRO Wireless Broadband Internet
- 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, an app page, a program, or an application using blockchain and distributed infrastructure P2P model based PoR authentication. .
- the distributed web server 300 which may be a dynamic or static web server, collects, arranges, and sorts data fragments distributed in the pool 600 by using a fragment collector when a request from the client terminal 100 exists. After the processing of the server may be transmitted to the client terminal (100).
- the distributed web server 300 may be implemented as a computer that can access a server or a terminal in a remote place through a network.
- the computer may include, for example, a navigation, a laptop equipped with a web browser, a desktop, a laptop, and the like.
- the root DNS server 400 may be a name server for an Internet DNS root region using an internet service related web page, an app page, a program, or an application using block chain and distributed infrastructure P2P model based PoR authentication.
- the root DNS server 400 may be a server that directly responds to the recording request of the client terminal 100 occurring in the root zone, and other requests may be authorized to the TLD DNS server 400 to perform a surrogate response.
- the distributed web server 300 is also a node that is a component in the blockchain
- the root DNS server 400 is also a component in the blockchain.
- the corresponding element is defined as a pool, not a node. Accordingly, the root DNS server 400 may include a plurality of nodes.
- a distributed web server 300 is a node capable of waiting 24 hours among a plurality of nodes, and a set pool of nodes responding to a recording request occurring in a root zone among a pool of a plurality of nodes is configured as a root DNS server ( 400).
- the pool at this time is different from the pool 600, which means that the condition for forming the root DNS server 400 must be a pool having a high reliability ranking, for example, within ranking 10.
- 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 with the TLD DNS server 500.
- the root DNS server 400 may be implemented as a computer that can access a server or a terminal in a remote place through a network.
- the computer may include, for example, a navigation, a laptop equipped with a web browser, a desktop, a laptop, and the like.
- the TLD DNS server 500 may be a server that holds a higher ranked pool using a web page, an app page, a program, or an application related to an Internet service using a blockchain and distributed infrastructure P2P model-based PoR proof, or is a higher ranked pool.
- the TLD DNS server 500 provides the information requested by the root DNS server 400 or holds pieces of content data that match the information received from the TLD DNS server 500 at the root DNS server 400. If the pool is informed, it may be a server providing information corresponding thereto.
- the TLD DNS server 500 may be implemented as a computer that can access a server or terminal in a remote place through a network.
- the computer may include, for example, a navigation, a laptop equipped with a web browser, a desktop, a laptop, and the like.
- the pool 600 may be a set of nodes that are requested data from the client terminal 100 using a web page, an app page, a program, or an application related to Internet services using blockchain and distributed infrastructure P2P model based PoR authentication.
- a manager managing the pool 600 may exist, and the manager may of course be a node.
- the pool 600 has a reliability based on the reliability of each node, and based on this, the pool 600 is provided with an opportunity to provide data to the client terminal 100. Can be.
- the plurality of nodes included in the pool 600 may be implemented as a computer that can access a server or terminal in a remote place through a network.
- the computer may include, for example, a navigation, a laptop equipped with a web browser, a desktop, a laptop, and the like.
- the plurality of nodes included in the pool 600 may be implemented as a terminal that can access a server or terminal in a remote place through a network.
- the plurality of nodes included in the pool 600 may be, for example, a wireless communication device that ensures portability and mobility, and includes navigation, personal communication system (PCS), global system for mobile communications (GSM), and personal digital cellular (PDC).
- 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
- CDMA Code Division Multiple Access
- W-CDMA W-Code Division Multiple Access
- Wibro Wibro
- It may include all kinds of handheld based wireless communication devices such as a Broadband Internet terminal, a smart phone, a smart pad, a tablet PC, and the like.
- FIG. 2 is a block diagram illustrating a client terminal included in the system of FIG. 1, and FIGS. 3 to 5 illustrate an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
- FIG. 2 A diagram for describing one embodiment implemented.
- FIG. 2 the components or concepts included in FIG. 2 will be described with reference to FIGS. 3 to 5.
- the client terminal 100 may include a transmitter 110, a selector 120, a confirmer 130, and a receiver 140.
- the distributed web server 300 according to an embodiment of the present invention or another server (not shown) operating in conjunction with the client terminal 100, the root DNS server 400, the TLD DNS server 500, and the pool 600.
- a client terminal 100, a root DNS server 400, a TLD DNS server 500, and the pool 600 may install or open Internet service applications, programs, app pages, web pages, and the like using blockchain and distributed infrastructure P2P model based PoR authentication.
- 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.
- 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 HTML (hyper text mark-up language), for example, Netscape. , Explorer, chrome and the like.
- an application means an application on a terminal, and includes, for example, an app running on a mobile terminal (smartphone).
- the transmitter 110 may transmit a request event for searching or storing information through an internet browser.
- 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 the user's data and transmits it to other organizations without permission. It is a browser that improves security and freedom using PoR protocol. In this case, PoR will be described later.
- the selector 120 may select at least one pool 600 having a predetermined proximity among the pools 600 in which the nodes forming the blockchain connected to the client terminal 100 by distributed P2P are clustered.
- the node may be a miner located in the pool, and may be in charge of maneuvering power to provide network resources and computing resources for the client terminal 100 while renting their respective fast bandwidth and extra hard disk space. It may be a terminal that receives an incentive virtual currency in exchange for. The node then takes care of the distributed portion of the data, and the new Merkle Tree leads to the previously created Merkle Tree.
- the pool 600 is an aggregation space of nodes as described above, and one pool 600 may include one pool manager.
- the pool 600 may communicate directly with the client terminal 100, which may be via an application or a browser.
- the pool manager can then be randomly determined within the range of trusted nodes. Due to the introduction of such a pool, it is possible to operate efficiently when reflecting data distributed to other nodes.
- the number of nodes that can be included in each pool 600 is limited, and the introduction of this pool 600 concept can be much easier to find a node suitable for itself in the client terminal 100. That is, searching 10 pools is much better than searching all 1000 nodes. At this time, one pool may accommodate 1000 nodes, but the number may increase or decrease according to an embodiment.
- the identification unit 130 may confirm the reliability of the selected at least one pool 600 using PoR proof.
- the operating time Ut for each node may be calculated as a percentage of the total time T for which one node can perform a data storage function every one hour P.
- the storage reputation (Sr) is calculated as a percentage of the ratio of the average capacity of the storage space (S) of one node to the preset minimum maintenance storage space (Mms) that must be maintained at each node for one hour. Can be.
- the reliability of the pool 600 is a value obtained by dividing the reliability Ri of the plurality of nodes included in the pool 600 ( ⁇ , i is from 1 to n) divided by the number of nodes (n).
- the node that is an average of the reliability of the node and transmits and receives a message with the client terminal 100 may be a pool 600 manager node that is a node belonging to the pool 600 while managing a plurality of nodes in the pool 600.
- the key to a successful distributed application starts with maintaining the reliability of the distributed node at the highest level of activation, and a high-reliability node can ensure fast and reliable connectivity to the distributed network.
- One node must be able to reserve storage space for at least one piece of data that corresponds to one storage request.
- the minimum storage space requirement must be met to meet the average demand for storage requests that will occur at any given time without notice.
- reliability and PoR proof are used, where P is expressed in one hour and in seconds. At this time, it is obvious that the value of P is changeable according to the embodiment and is not described in order to exclude other times.
- the unit of T is also seconds, and the unit of Ut is also defined as seconds.
- S the average capacity of one storage space, requires at least 15 gigabytes of storage for miners. And, if the concept of Sr is necessary, it is to prevent the high score of reliability with only one element of the storage space. That is, a node must prepare enough storage space as much as possible for the data host whenever there is a storage request, thus preparing for concentrating storage requests for large amounts of data to some nodes, which increases the speed of the Internet. Can lead naturally.
- Mms may be, for example, 1,000 GB if the condition should continue to be 1,000 GB.
- pool manager can significantly reduce the search time of a specific node of a client in a distributed hash table.
- a node that can send and receive messages with a client is not defined as a number of general nodes, but is defined as a node that holds the position of pool manager. Because. At this time, the pool manager can be selected based on the uptime reputation and response rate, and the pool manager can constantly monitor the performance status and abnormality of the nodes in the pool while sending messages to the nodes at regular intervals. At every client request, the pool manager should always be ready to respond immediately.
- FIG. 3A a schematic diagram of a system including a client terminal 100 and a pool 600 is shown.
- a file stored in each node must exist. This is defined as decentralized storage components.
- the data partitioning process refers to a process of dividing data into smaller pieces for easier management, which is a method of applying a distributed algorithm to a storage network.
- the distribution algorithm may consider parameters of the pool location, bandwidth, uptime rank, and number of storage devices.
- the factor to be considered as a priority is the reliability of the nearest pool, and the reliability is as described.
- the maximum size of the distributed data may be 4 MB, but this may be increased or decreased according to an embodiment. For example, it takes about 0.07 seconds to load data based on Korea's average network speed of 60.58 MBps.
- the location of the pool is one of very important factors for speed and reliability. When storing and retrieving data in the client terminal 100, the closest pool is selected based on the client terminal 100 as described above. In addition, factors such as the number of memories, reliability, bandwidth, and uptime may be considered.
- the pool 600 since the pool 600 constantly maintains the record by synthesizing the storage devices used by the nodes in the pool, it may be helpful to find the pool 600 that can sufficiently store the data distributed at a given time. This may eliminate unnecessary communication between the client terminal 100 and the node. In addition, it is possible to avoid using data contained in other pools that do not meet the conditions. In this case, when there is no storage device to accommodate the data distributed in the adjacent pool, it may be stored in another pool, and nodes in the same pool may communicate with more frequency and period than nodes in the other pool. In this case, when the bandwidth condition does not satisfy the reference value, when the data distribution process is performed, the size of the fragment of the distributed data may also be reduced.
- one file of the client terminal 100 is divided into data fragments, and the divided data fragments must be extracted from the client terminal 100 to be distributed to each node. You will be inspected as in b).
- the Merkle Tree Debris Inspection can lightly handle heavy hashes that burden the I / O and processing units.
- the data fragment distribution process may store the Merkle Tree root and length of the client terminal 100, and may improve the transmission of the data fragment and the Merkle Tree leaf node.
- partitioning and distributing data in parallel the data fragments can be efficiently distributed to the 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.
- copying data pieces refers to replicating and maintaining pieces. That is, the node can replicate the data fragments from the nodes in the adjacent pool 600, to ensure the practicality of the data fragments and to prepare for the case that some nodes do not synchronize.
- the receiver 140 selects the pool 600 having the highest reliability value and asynchronously selects fragment data corresponding to the request event from a plurality of nodes included in the selected pool 600. Can be received based on the index. In this case, when the receiving unit 140 cannot process the request event in any one of the plurality of nodes, any one node may transmit the request event to a node existing in the other pool 600. In addition, a plurality of nodes of each pool 600 may be held by executing data fragmentation mirroing that maintains a plurality of copies of the data fragments in a mirror site format.
- the receiving unit 140 receives the asynchronously based on the index because a plurality of nodes included in the pool 600 are broadcast through the P2P Gossip protocol at different clocks that are different or the same.
- the Gossip protocol is a peer that transmits a message to any peer in the vicinity of the one that has received one message, and was developed to provide scalability while providing high reliability of message transmission. Will be omitted.
- the node requests help from a node in another pool.
- the first pool Pool 1 is a close pool with average reliability in the whole
- the third pool Pool3 is the farthest pool with the highest reliability among all nodes.
- the strategy of renting a node is to maintain multiple copies of a piece of data in the form of a mirror site so that a file can be easily recovered even if the Internet connection fails.
- the adjacent node informs the other nodes, and each node contains a history of the data fragments, so that the information on the node that retains (owns, owns) a copy of the data fragments, and the currently active mirror.
- the number of sites can be included, allowing you to handle requests that come to you with help from other nodes.
- Merkle tree is a family structure of a data structure, that is, a hash list woven into a hash, a kind of tree structure, leaf Nodes are hashes of blocks containing data, and non-leaf nodes are hashes of child nodes.
- leaf Nodes are hashes of blocks containing data
- non-leaf nodes are hashes of child nodes.
- leaf and data of Merkle Tree may be stored in the node, and the root of the Merkle Tree may be stored in the wallet.
- Merkle proof can be used to perform PoR proof in the client terminal (100).
- the most important factor in a distributed P2P system is data proof, because the same data is distributed in multiple regions, and when a part of data located in one place is changed, data of all regions must be changed.
- data attestation serves to prove that the same data exists everywhere, but every time one system wants to verify the data, it cannot go through the data attestation process. To prevent consumption.
- the amount of data transmitted over the network is limited as constant as possible, but rather than transmitting the entire file over the network, a hash of the file is transmitted.
- the data held by any one node of the plurality of nodes is changed, the data of all nodes in the blockchain is changed, and the data proof held by the plurality of nodes is searched through the Merkle Tree and the Merkle Tree (Retrievability via Merkle Tree). and Merkle Proof), when the first node in the blockchain sends a hash of the data file to the second node, the second node compares the hash stored in the Merkle Tree root with the transmitted hash. If there is a change, and if the result of the check is a change, the two nodes of the transmitted hash are requested to the first node until the changed data is found, and the first node generates a hash in response to the request and then the first node. Can transmit to 2 nodes.
- computers can compute multiple hashes at once because they are running simultaneously, and the computer is much faster because it only sends hashes, not entire files, over the network.
- fixing the error portion rather than rewriting the entire file to correct the error can help save time.
- Merkle Tree is useful in distributed systems because it doesn't need to verify the entire file each time, and can help determine if an unverified source is found or authentic.
- a distributed web server 300 will be described with reference to FIG. 5A.
- the distributed web server 300 and the client terminal 100 for a plurality of nodes constituting the blockchain may be interworked.
- the distributed web server 300 is connected to a fragment collector for collecting and arranging pieces of data held by a plurality of nodes, and arranged so that pieces of data requested from the client terminal 100 form one file through the fragment collector. And aligned, the distributed web server 300 may transmit to the client terminal 100 when the processing of the arrangement and the sorted data is completed.
- the client terminal 100 when the client terminal 100 requests dynamic content, that is, a script or code of a type that executes before the content is operated on the web browser, the client terminal 100 searches for and confirms a DNS address. If confirmed, the content can be requested.
- the distributed web server 300 owns the information on the requested content based on the DNS address, and the owned information also includes the content type and metadata on how to respond for each request.
- the static website can be sufficiently provided as a request to the general pool 600 even without going through the distributed web server (300).
- a root DNS server which is a pool 600 that is responsible for a domain name system (DNS) in a blockchain, is a DNS root zone.
- DNS domain name system
- the TLD DNS server top-level domain domain name system server
- the TLD DNS server including the pool 600 whose response to the recording request can be directly responded to the client terminal 100 and whose ranking is set to the reliability level within the reference value when the DNS root zone is not. Can be authorized to respond on behalf of.
- DNS is a hierarchical naming system for computers, services, or resources connected to the Internet or a private network.
- a DNS server connects different information to a domain assigned to an object participating in the Internet or a network. You can register different information in the domain names assigned to you, and use network protocols to translate domain names into numeric IP addresses to find and identify blockchain services and devices on a particular computer.
- the domain format according to an embodiment of the present invention may be “d” + IANA (Internet Assignment Number Management Agency).
- the virtual currency is given in return for each of the above-described provision actions of the node, such as each node providing fragment data at the request of the client terminal 100, collecting fragment data, and providing the fragment data to the client terminal 100 as a single file.
- the Internet service does not need to provide advertising revenue to third parties because it has a system of self-financing having self-sufficiency by collecting virtual currency.
- large enterprises do not want individuals to own important information, and censorship and control are being performed.
- a node that provides a node or a piece of data that owns or provides a piece of content or data that is more valuable will increase the quality of computing resources and networking resources to achieve higher reliability.
- the parameters for evaluating the value of the content may include the number of contents, emotional participation, total views, single views, viewing duration, relevance of search ability, number of links, number of requests, and the like.
- Emotional Engagement is an index for measuring the preference for content through emotional indicators mutually formed on the Internet.
- an emoticon having a preference may be given a +1
- a negative emoticon including a antagonism may be given a -1.
- View count (Vc) is the number of daily views of content, for example, if a two-hour movie had 2 million views, 2 million could be an arithmetic figure of content viewing demand, so a high view count It can be interpreted to mean high value.
- the unique view count is an arithmetic value based on content if the view count is an arithmetic value based on a visitor as compared to the view count. Refers to the number of visits per viewer for one piece of content and excludes viewing of duplicated content.
- Stickiness duration is the length of time that content viewers, pages, and website visitors stay.
- R is the relevance of the 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, they inevitably bring up search results irrelevant to the user's original interest and degraded query contents. It may also result in overcompensation to inappropriate creators who have created. In contrast, in one embodiment of the present invention, since a part of the mined cryptocurrency, for example, 10% is used for maintenance, there is no third party institution. Linked (L) is the number of times mentioned or referenced on the Internet, and SPC is the economic value of cryptocurrency.
- the value Cv for the creative content CC given at a specific time S may be calculated.
- Dv means the demand of the Internet service of the present invention in the market
- SPC means the value of virtual currency 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.
- FIG. 6 is a diagram illustrating a process of transmitting and receiving data between components included in the Internet service providing system using the blockchain and distributed infrastructure P2P model-based PoR authentication of FIG. 1 according to an embodiment of the present invention.
- FIG. 6 an example of a process in which data is transmitted and received between each component will be described with reference to FIG. 6, but the present disclosure is not limited to the above-described embodiments, and is illustrated in FIG. 6 according to the various embodiments described above. It is apparent to those skilled in the art that the process of transmitting and receiving data may be changed.
- the client terminal transmits a request event for retrieving or storing information through an internet browser (S6100).
- the client terminal selects at least one pool having a predetermined proximity among the pools in which nodes forming a blockchain connected to the client terminal by distributed P2P are clustered (S6200), and reliability of the selected at least one pool. Verify using the PoR proof (S6300).
- the client terminal selects the pool having the highest reliability value, and receives the fragment data corresponding to the request event asynchronously from the plurality of nodes included in the selected pool based on the index (6400).
- An internet service providing method using blockchain and distributed infrastructure P2P model based PoR authentication includes a record including instructions executable by a computer such as an application or a program module executed by the computer. It may 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. In addition, computer readable media may include all computer storage media. 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.
- an Internet service providing method using blockchain and distributed infrastructure P2P model-based PoR authentication includes an application basically installed in a terminal (that is, a program included in a platform or an operating system basically loaded in the terminal). It may also be executed by the application (ie, a program) that the user installed directly on the master terminal through an application providing server, such as an application store server, an application or a web server associated with the service.
- an application providing server such as an application store server, an application or a web server associated with the service.
- the Internet service providing method using the blockchain and distributed infrastructure P2P model-based PoR authentication according to the embodiment of the present invention described above is implemented as an application (ie, a program) that is basically installed in a terminal or directly installed by a user. And a computer readable recording medium such as a terminal.
- the present invention is applicable to the field of Internet service providing method using the blockchain and distributed infrastructure P2P model-based PoR authentication that increases the availability and speed of resource requests and searches by verifying the reliability of each node, and provides compensation for resource provision. Can be.
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
Provided is a method for providing an Internet service using PoR on the basis of a blockchain and a distributed infrastructure P2P model, the method comprising the steps of: transmitting, via an Internet browser, a request event for searching or storing information; selecting at least one pool having preset proximity from among pools which have clustered nodes connected to a client terminal via distributed P2P and forming a blockchain; confirming the reliability of the at least one selected pool by using PoR; and selecting a pool which has the highest reliability value, and asynchronously receiving, on the basis of an index, from a plurality of nodes included in the selected pool, a data fragment corresponding to the request event.
Description
본 발명은 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 관한 것으로, 각 노드의 신뢰도를 검증하여 자원 요청 및 검색의 가용성 및 속도를 증가시키고, 자원제공에 대한 보상을 지급하는 방법을 제공한다.The present invention relates to an Internet service providing method using blockchain and distributed infrastructure P2P model-based PoR authentication, which verifies the reliability of each node to increase the availability and speed of resource requests and retrieval, and provides compensation for resource provision. Provide a method.
최근, 인터넷상의 데이터는 인지하지 못하는 사이에 기관에 의해 통제되고 있을 뿐만 아니라, 기관은 개인을 감시하기 위한 브라우저 및 운영체제를 계속하여 개발중에 있으며, 감시의 결과로 얻은 정보를 판매한 대규모 기관은 천 조 단위의 자산을 축적해왔으나 개인은 이를 주장할 권리조차 없는 것이 현 실정이다. 또한, 인터넷 환경에서는 보다 많은 고객정보를 수집하고 싶은 기업과 자신의 프라이버시를 보호하려는 고객 간의 미묘한 신경전이 벌어지는데, 인터넷 서비스를 위해 기업은 약관과 개인정보취급 방침을 통해 고객의 정보가 어떻게 수집되며 활용되어지는가에 대한 범위와 목적 그리고 멸실에 이르기까지의 절차를 고지하지만, 동의하지 않으면 인터넷 서비스를 이용할 수 없으므로 개인은 실질적으로는 정보주체의 권리 행사가 어려운 실정이다. In recent years, data on the Internet is not only controlled by institutions without knowledge, but organizations are also continuing to develop browsers and operating systems to monitor individuals, and large organizations that sell the information obtained as a result of surveillance are unaffected. Although it has been accumulating trillion assets, individuals do not even have the right to claim it. In addition, in the Internet environment, there is a delicate battle between a company that wants to collect more customer information and a customer who wants to protect their privacy.However, for the Internet service, a company collects and utilizes customer information through terms and conditions and privacy policy. It informs the scope, purpose, and procedure of the loss, but it is difficult for the individual to exercise the rights of the information subject since the Internet service cannot be used without consent.
이때, 개인정보보호와 검색작업의 효율을 향상시키기 위한 기술이 개발되었는데, 이와 관련하여 선행기술인 한국공개특허 제2011-0056034호(2011년05월26일 공개)에는, 사용자가 검색사이트의 검색창에 입력한 키워드를 저장하고, 키워드에 따라 검색사이트가 게시한 검색결과물의 링크정보를 검색사이트별로 저장하는 검색이력저장수단을 구비하고, 웹브라우저의 인터넷통신모듈과 연계하면서 사용자가 키워드를 입력한 검색사이트와 키워드를 확인해서 전달하고, 검색사이트가 게시한 검색결과물 중 사용자가 클릭한 검색결과물의 링크정보를 확인해서 저장하는 구성이 개시되어 있다.At this time, a technology for improving the privacy protection and the efficiency of the search operation has been developed. In this regard, Korean Patent Publication No. 2011-0056034 (published on May 26, 2011), which is a related art, provides a user with a search box of a search site. A search history storage means for storing the keyword entered in the web browser, and storing the link information of the search result posted by the search site according to the keyword for each search site, and in connection with the internet communication module of the web browser, Disclosed is a configuration for identifying and delivering a search site and a keyword, 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 seeing their keywords while using the existing Internet, and is a simple structure that cannot prevent information collected by a browser of the Internet. In addition, the information that a user obtains over the Internet does not change the paradigm that is limited and controlled by content providers, and the benefits of distributing personal information ensure that only a few large corporations maintain a structure called the ship. It is required to develop a platform having a profit structure that decentralizes and divides the cost of using information among information providers.
본 발명의 일 실시예는, 블록체인을 기반으로 데이터를 분산하여 블록체인을 이루는 노드에 저장하고, 저장된 노드의 신뢰도를 측정하여 높은 신뢰도를 가진 노드를 이루는 풀로부터 데이터가 검색 및 제공되도록 하며, 데이터 자원을 공유한 노드에게는 가상화폐로 보상이 이루어지게 함으로써 공평한 부의 분배와 콘텐츠를 일부 대규모 기업이 통제하는 상황을 막을 수 있도록 하는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.According to an embodiment of the present invention, data is distributed based on a blockchain and stored in a node forming a blockchain, and the reliability of the stored node is measured to retrieve and provide data from a pool forming a node having a high reliability. How to provide Internet service using PoR proof based on blockchain and distributed infrastructure P2P model, which allows nodes sharing the data resources to be rewarded with cryptocurrency to prevent equitable wealth distribution and control of contents by some large enterprises. Can be provided. 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, the step of transmitting a request event for retrieving or storing information through an Internet browser, a node forming a block chain connected to the client terminal and distributed P2P Selecting at least one pool having a predetermined proximity among the clustered pools, checking the reliability of the selected at least one pool using PoR proof, and selecting the pool having the highest reliability value. Selecting and receiving fragment data corresponding to the request event asynchronously based on the index from a plurality of nodes included in the selected pool.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 블록체인을 기반으로 데이터를 분산하여 블록체인을 이루는 노드에 저장하고, 저장된 노드의 신뢰도를 측정하여 높은 신뢰도를 가진 노드를 이루는 풀로부터 데이터가 검색 및 제공되도록 하며, 데이터 자원을 공유한 노드에게는 가상화폐로 보상이 이루어지게 함으로써 공평한 부의 분배와 콘텐츠를 일부 대규모 기업이 통제하는 상황을 막을 수 있도록 한다.According to any one of the above-described means for solving the problem of the present invention, by distributing the data based on the block chain and storing the data in the nodes forming the block chain, by measuring the reliability of the stored node data from the pool forming a node with high reliability Nodes that share data resources can be rewarded with cryptocurrencies to prevent equal distribution of wealth and control of content by some large enterprises.
도 1은 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 시스템을 설명하기 위한 도면이다.1 is a diagram illustrating an Internet service providing system using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
도 2는 도 1의 시스템에 포함된 클라이언트 단말을 설명하기 위한 블록 구성도이다.FIG. 2 is a block diagram illustrating a client terminal included in the system of FIG. 1.
도 3은 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 중 데이터 분산 및 파일 저장 과정이 구현된 일 실시예를 설명하기 위한 도면이다.FIG. 3 is a diagram illustrating an embodiment in which data distribution and file storage processes are implemented in an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 중 데이터 조각 복사 과정과, 데이터 분산에 이용되는 머클트리를 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating a data fragment copying process and a Merkle tree used for data distribution in an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 중 분산 웹서버에서 데이터 조각을 모아 클라이언트 단말로 서비스하는 일 실시예 및 인터넷에 엑세스하는 과정이 구현된 일 실시예를 설명하기 위한 도면이다.FIG. 5 illustrates an embodiment of collecting data fragments from a distributed web server and serving a client terminal in an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention, and a process of accessing the Internet. It is a diagram for explaining one embodiment.
도 6은 본 발명의 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.6 is a flowchart illustrating a method of providing an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention.
본 발명은 클라이언트 단말에서 실행되는 인터넷 서비스 제공 방법에 있어서, 인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송하는 단계; 상기 클라이언트 단말과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool) 중 기 설정된 인접도를 가지는 적어도 하나의 풀을 선택하는 단계; 상기 선택된 적어도 하나의 풀의 신뢰도를 PoR 증명을 이용하여 확인하는 단계; 상기 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 상기 요청 이벤트에 대응하는 조각 데이터를 상기 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신하는 단계; 를 포함하는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법을 제공하고자 하는 것이다.The present invention provides a method for providing an Internet service executed in a client terminal, comprising: transmitting a request event for retrieving or storing information through an Internet browser; Selecting at least one pool having a predetermined proximity among clustered pools of nodes forming a blockchain connected to the client terminal through distributed P2P; Confirming reliability of the at least one selected pool using PoR proof; Selecting a pool having the highest reliability value and asynchronously receiving fragment data corresponding to the request event from a plurality of nodes included in the selected pool based on an index; It is to provide a method for providing an Internet service using a blockchain and distributed infrastructure P2P model based PoR authentication.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like 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. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components, unless specifically stated otherwise, one or more other features It is to be understood that the present disclosure does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, parts, or combinations thereof.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. As used throughout the specification, the terms "about", "substantially", and the like, are used at, or in close proximity to, numerical values when manufacturing and material tolerances inherent in the meanings indicated are intended to aid the understanding of the invention. Accurate or absolute figures are used to assist in the prevention of unfair use by unscrupulous infringers. As used throughout the specification of the present invention, the term "step of" or "step of" 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 both. In addition, one unit may be realized using two or more pieces of hardware, or two or more units may be realized by one piece of hardware.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다. Some of the operations or functions described as being performed by the terminal, the apparatus, or the device may be performed instead in the server connected to the terminal, the apparatus, or the device. Similarly, some of the operations or functions described as being performed by the server may be performed by the terminal, apparatus or device connected to the server.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In the present specification, some of the operations or functions described as mapping or matching with a terminal mean that a unique number of a terminal or identification information of an 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 illustrating an Internet service providing system using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention. Referring to FIG. 1, the Internet service providing system 1 using block chain and distributed infrastructure P2P model based PoR authentication includes a client terminal 100, a distributed web server 300, a root DNS server 400, and a TLD (Top). Level Domain) may include a DNS server 500 and a pool 600. However, since the Internet service providing system 1 using the blockchain and distributed infrastructure P2P model-based PoR authentication 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)과 연결될 수 있다.In this case, each component of FIG. 1 is generally connected through a network 200. For example, as shown in FIG. 1, the client terminal 100 is a distributed web server 300, a root DNS server 400, a TLD DNS server 500, and a pool 600 via a network 200. It can be connected with. 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 refers to a connection structure capable of exchanging information between respective nodes such as a plurality of terminals and servers. Examples of such a network include RF, 3rd Generation Partnership Project (3GPP) network, and long term (LTE). Evolution network, 5th Generation Partnership Project (5GPP) network, World Interoperability for Microwave Access (WIMAX) network, Internet, Local Area Network (LAN), Wireless Local Area Network (WLAN), 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, but is not limited thereto.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.In the following description, the term “at least one” is defined as a singular and plural term, and each component may exist in the singular or plural, even though the term “at least one” does not exist, and may mean the singular or plural. It will be self explanatory. In addition, the singular or plural elements may be changed according to embodiments.
본 발명의 일 실시예에 따른 방법은, 기존의 인터넷 브라우저, 검색 엔진, 운영체제, 웹서버, 도메인 시스템을 이용하는 것이 아니라, 중앙집중형이 아닌 분산 인프라 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. All resources in servers, domain systems, and storage spaces use computing or networking resources corresponding to the nodes that make up the blockchain. To this end, each node in the blockchain is evaluated for reliability when the client requests a file or performs a search, which is credited with PoR proof, and is highly trusted. The more the more resources can be provided to the client, the reward for providing the resources, which may be cryptocurrency. At this time, since the client cannot determine all 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 given to the client based on the reliability of the pool. In this way, the resources are distributed and stored, and the stored partitioned data are collected and provided at the client's request, and if there is an error in the data, if there is a change in the data, all nodes in the blockchain share the same file. By having the ability to detect to hold, the same response to the same request can exist anywhere, anytime.
이러한 본 발명의 일 실시예에 따른 기본개념을 바탕으로 각각의 구성을 설명한다.Each configuration will be described based on the basic concept according to the embodiment of the present invention.
클라이언트 단말(100)은, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 분산 인프라 P2P 및 블록체인으로 이루어진 노드를 통하여 데이터를 저장하기 위해 요청하거나, 인터넷 검색을 요청하거나 스트리밍 서비스를 이용하는 단말일 수 있다. 그리고, 클라이언트 단말(100)은, 클라이언트 단말(100)을 중심으로 연결된 복수의 풀(600) 중 가장 인접하면서도 가장 좋은 신뢰도를 가지는 풀(600)을 선택하고, 데이터를 요청하는 단말일 수 있다. 그리고, 클라이언트 단말(100)에서 도메인 요청을 하는 경우, 즉 url 검색을 하는 경우에는 루트 DNS 서버(400) 또는 TLD DNS 서버(500)를 통하여 그 응답을 얻는 단말일 수 있다. 물론, 클라이언트 단말로 자원을 제공하는 입장에서는 노드일 수 있지만, 자원을 요청하고 이를 수신하는 역할은 클라이언트로 정의하고, 자원을 제공하는 역할은 노드로 정의하여 설명하기로 한다. 물론, 클라이언트 단말은 자공을 제공하는 경우에는 노드일 수 있고, 노드도 클라이언트 단말이 될 수 있음은 자명하다 할 것이다.The client terminal 100 stores data through a node consisting of a distributed infrastructure P2P and a blockchain using a web page, an app page, a program or an application related to an Internet service using a blockchain and distributed infrastructure P2P model based PoR authentication. The terminal may request, request an internet search, or use a streaming service. In addition, the client terminal 100 may be a terminal that selects the pool 600 having the closest and highest reliability among the plurality of pools 600 connected to the client terminal 100 and requests data. In addition, when the client terminal 100 makes a domain request, that is, when url search is performed, the client terminal 100 may be a terminal that obtains a response through the root DNS server 400 or the TLD DNS server 500. Of course, a node may be a node from a viewpoint of providing a resource to a client terminal, but a role of requesting and receiving a resource is defined as a client, and a role of providing a resource is defined as a node. Of course, the client terminal may be a node when providing the pores, it will be apparent that 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 server or a terminal in a remote place through a network. Here, the computer may include, for example, a navigation, a laptop equipped with a 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 server or terminal in a remote place through a network. The client terminal 100 is, for example, a wireless communication device that ensures portability and mobility, and includes a navigation, a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular (PDC), and a personal PHS (PHS). Handyphone System (PDA), Personal Digital Assistant (PDA), International Mobile Telecommunication (IMT) -2000, Code Division Multiple Access (CDMA) -2000, W-Code Division Multiple Access (W-CDMA), Wireless Broadband Internet (WBRO) terminal, All types of handheld based wireless communication devices such as smartphones, smartpads, tablet PCs, and the like may be included.
분산 웹서버(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, an app page, a program, or an application using blockchain and distributed infrastructure P2P model based PoR authentication. . In the blockchain, all are defined as nodes, and among them, may be defined as a server for responding to a request of the client terminal 100 anytime and anywhere. The distributed web server 300, which may be a dynamic or static web server, collects, arranges, and sorts data fragments distributed in the pool 600 by using a fragment collector when a request from the client terminal 100 exists. After the processing of the server may be transmitted 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 server or a terminal in a remote place through a network. Here, the computer may include, for example, a navigation, a laptop equipped with a 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 an internet service related web page, an app page, a program, or an application using block chain and distributed infrastructure P2P model based PoR authentication. In this case, the root DNS server 400 may be a server that directly responds to the recording request of the client terminal 100 occurring in the root zone, and other requests may be authorized to the TLD DNS server 400 to perform a surrogate response. . As the distributed web server 300 is also a node that is a component in the blockchain, the root DNS server 400 is also a component in the blockchain. 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, a distributed web server 300 is a node capable of waiting 24 hours among a plurality of nodes, and a set pool of nodes responding to a recording request occurring in a root zone among a pool of a plurality of nodes is configured as a root DNS server ( 400). The pool at this time is different from the pool 600, which means that the condition for forming the root DNS server 400 must be a pool having a high reliability ranking, for example, within 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 with 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 server or a terminal in a remote place through a network. Here, the computer may include, for example, a navigation, a laptop equipped with a 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 holds a higher ranked pool using a web page, an app page, a program, or an application related to an Internet service using a blockchain and distributed infrastructure P2P model-based PoR proof, or is a higher ranked pool. In this case, the TLD DNS server 500 provides the information requested by the root DNS server 400 or holds pieces of content data that match the information received from the TLD DNS server 500 at the root DNS server 400. If the pool is informed, it may be a server providing information corresponding thereto.
여기서, TLD DNS 서버(500)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. Here, the TLD DNS server 500 may be implemented as a computer that can access a server or terminal in a remote place through a network. Here, the computer may include, for example, a navigation, a laptop equipped with a 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 are requested data from the client terminal 100 using a web page, an app page, a program, or an application related to Internet services using blockchain and distributed infrastructure P2P model based PoR authentication. In this case, a manager managing the pool 600 may exist, and the manager may of course be a node. In addition, the pool 600 has a reliability based on the reliability of each node, and based on this, the pool 600 is provided with an opportunity to provide data to the client terminal 100. 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 that can access a server or terminal in a remote place through a network. Here, the computer may include, for example, a navigation, a laptop equipped with a web browser, a desktop, a laptop, and the like. In this case, the plurality of nodes included in the pool 600 may be implemented as a terminal that can access a server or terminal in a remote place through a network. The plurality of nodes included in the pool 600 may be, for example, a wireless communication device that ensures portability and mobility, and includes navigation, personal communication system (PCS), global system for mobile communications (GSM), and personal digital cellular (PDC). ), Personal Handyphone System (PHS), Personal Digital Assistant (PDA), International Mobile Telecommunication (IMT) -2000, Code Division Multiple Access (CDMA) -2000, W-Code Division Multiple Access (W-CDMA), Wibro (Wireless) It may include all kinds of handheld based wireless communication devices such as a Broadband Internet terminal, a smart phone, a smart pad, a tablet PC, and the like.
도 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 illustrate an Internet service using block chain and distributed infrastructure P2P model based PoR authentication according to an embodiment of the present invention. A diagram for describing one embodiment implemented. Hereinafter, although described with reference to FIG. 2, the components or concepts included in FIG. 2 will be described with reference to FIGS. 3 to 5.
도 2를 참조하면, 클라이언트 단말(100)은, 전송부(110), 선택부(120), 확인부(130) 및 수신부(140)를 포함할 수 있다.2, the client terminal 100 may include a transmitter 110, a selector 120, a confirmer 130, and a receiver 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)을 포함한다.The distributed web server 300 according to an embodiment of the present invention or another server (not shown) operating in conjunction with the client terminal 100, the root DNS server 400, the TLD DNS server 500, and the pool 600. When transmitting an Internet service application, a program, an app page, a web page, etc. using a blockchain and distributed infrastructure P2P model based PoR authentication, a client terminal 100, a root DNS server 400, a TLD DNS server 500, The pool 600 may install or open Internet service applications, programs, app pages, web pages, and the like using blockchain and distributed infrastructure P2P model based PoR authentication. 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 HTML (hyper text mark-up language), for example, Netscape. , Explorer, chrome and the like. In addition, an application means an application on a terminal, and includes, for example, an app running on a mobile terminal (smartphone).
도 2를 참조하면, 전송부(110)는, 인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송할 수 있다. 이때, 인터넷 브라우저는 본 발명의 일 실시예에 따라 개발된 인터넷 브라우저로, 기존 웹사이트와 본 발명의 플랫폼 기반 웹사이트 모두 접속할 수 있는 브라우저이며, 사용자의 데이터를 수집하여 허가없이 타 기관에게 전송하지 않고, PoR 프로토콜을 이용하여 보안성과 자유도가 향상된 브라우저이다. 이때, PoR은 이하에서 후술하기로 한다.Referring to FIG. 2, the transmitter 110 may transmit a request event for searching 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 the user's data and transmits it to other organizations without permission. It is a browser that improves security and freedom using PoR protocol. In this case, 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 proximity among the pools 600 in which the nodes forming the blockchain connected to the client terminal 100 by distributed P2P are clustered. In this case, the node may be a miner located in the pool, and may be in charge of maneuvering power to provide network resources and computing resources for the client terminal 100 while renting their respective fast bandwidth and extra hard disk space. It may be a terminal that receives an incentive virtual currency in exchange for. The node then takes care of the distributed portion of the data, and the new Merkle Tree leads to the previously created Merkle Tree. In addition, the pool 600 is an aggregation space of nodes as described above, and one pool 600 may include one pool manager. The pool 600 may communicate directly with the client terminal 100, which may be via an application or a browser. The pool manager can then be randomly determined within the range of trusted nodes. Due to the introduction of such a pool, it is possible to operate efficiently when reflecting data distributed to other nodes. The number of nodes that can be included in each pool 600 is limited, and the introduction of this pool 600 concept can be much easier to find a node suitable for itself in the client terminal 100. That is, searching 10 pools is much better than searching all 1000 nodes. At this time, one pool may accommodate 1000 nodes, but the number may increase or decrease according to an embodiment.
확인부(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 identification 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 based on the sum of the operating time of each node and the storage space reputation. The operating time Ut for each node may be calculated as a percentage of the total time T for which one node can perform a data storage function every one hour P. The storage reputation (Sr) is calculated as a percentage of the ratio of the average capacity of the storage space (S) of one node to the preset minimum maintenance storage space (Mms) that must be maintained at each node for one hour. Can be. The reliability of the pool 600 is a value obtained by dividing the reliability Ri of the plurality of nodes included in the pool 600 (Σ, i is from 1 to n) divided by the number of nodes (n). The node that is an average of the reliability of the node and transmits and receives a message with the client terminal 100 may be a pool 600 manager node that 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 at the highest level of activation, and a high-reliability node can ensure fast and reliable connectivity to the distributed network. One node must be able to reserve storage space for at least one piece of data that corresponds to one storage request. In other words, the minimum storage space requirement must be met to meet the average demand for storage requests that will occur at any given time without notice. To this end, reliability and PoR proof are used, where P is expressed in one hour and in seconds. At this time, it is obvious that the value of P is changeable according to the embodiment and is not described in order to exclude other times.
상술한 파라미터 중 T의 단위도 초이고, Ut의 단위도 초로 정의한다. 한 개의 저장공간 여유분에 대한 평균용량인 S는 채굴자인 경우 최소 15기가바이트의 저장공간을 필요로 한다. 그리고, Sr의 개념이 필요한 경우는, 저장공간 하나의 요소만을 가지고 신뢰도의 높은 점수를 얻을 수 없도록 하기 위함이다. 즉, 노드는 저장 요청이 있을 때마다 데이터 호스트가 가능한 충분한 저장 공간을 준비해야 하고, 이에 따라 용량이 큰 데이터에 대한 저장 요청이 일부 노드로 집중되는 것에 대비할 수 있기 때문이고, 이는 인터넷 속도의 향상으로 자연스럽게 이어질 수 있다. Mms는 예를 들어, 1,000 GB 를 계속해서 유지해야 하는 조건이면 1,000GB일 수 있다. Of the above-mentioned parameters, the unit of T is also seconds, and the unit of Ut is also defined as seconds. S, the average capacity of one storage space, requires at least 15 gigabytes of storage for miners. And, if the concept of Sr is necessary, it is to prevent the high score of reliability with only one element of the storage space. That is, a node must prepare enough storage space as much as possible for the data host whenever there is a storage request, thus preparing for concentrating storage requests for large amounts of data to some nodes, which increases the speed of the Internet. Can lead naturally. Mms may be, for example, 1,000 GB if the condition should continue to be 1,000 GB.
상술했지만 풀의 개념은 분산 해시 테이블에서 클라이언트의 특정노드검색시간을 현저하게 줄일 수 있는데, 클라이언트와 메시지 송수신을 할 수 있는 노드는 다수의 일반 노드가 아니고, 풀 매니저라는 직책을 보유한 노드로 정의되기 때문이다. 이때, 풀매니저는, 가동시간명성과 응답률을 기준으로 선정될 수 있고, 풀 매니저는 일정 간격으로 노드에게 메시지를 보내면서 지속적으로 해당 풀에 존재하는 노드의 성능 상태와 이상여부를 모니터링할 수 있고, 클라이언트의 요청이 있을 때마다, 풀 매니저는 언제나 즉각 응답할 준비가 되어 있어야 한다.As mentioned above, the concept of pool can significantly reduce the search time of a specific node of a client in a distributed hash table. A node that can send and receive messages with a client is not defined as a number of general nodes, but is defined as a node that holds the position of pool manager. Because. At this time, the pool manager can be selected based on the uptime reputation and response rate, and the pool manager can constantly monitor the performance status and abnormality of the nodes in the pool while sending messages to the nodes at regular intervals. At every client request, the pool manager should always be ready to respond immediately.
이를 위하여, 각 노드에 파일이 분산되어 저장되어야 한다. 이를 데이터 분할(Data Fragmentation)이라고 하는데, 이는 도 3을 통하여 설명한다. 우선, 도 3의 (a)를 보면, 클라이언트 단말(100), 풀(600)을 포함한 시스템의 개략도를 보여준다. 이러한 네트워크 구조에서 클라이언트 단말(100)의 요청에 응답을 하기 위해서는 노드에 각각 저장된 파일이 존재해야 한다. 이를 탈중앙화 기억 장치 요소(Decentralized Storage Components)로 정의한다. For this purpose, files must be distributed and stored in each node. This is called data fragmentation, which will be described with reference to FIG. 3. First, referring to FIG. 3A, a schematic diagram of a system including a client terminal 100 and a pool 600 is shown. In order to respond to a request of the client terminal 100 in such a network structure, a file stored in each node 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, which is a method of applying a distributed algorithm to a storage network. In this case, the distribution algorithm may consider parameters of the pool location, bandwidth, uptime rank, and number of storage devices. Here, the factor to be considered as a priority is the reliability of the nearest pool, and the reliability is as described. In this case, the maximum size of the distributed data may be 4 MB, but this may be increased or decreased according to an embodiment. For example, it takes about 0.07 seconds to load data based on Korea's average network speed of 60.58 MBps. The location of the pool is one of very important factors for speed and reliability. When storing and retrieving data in the client terminal 100, the closest pool is selected based on the client terminal 100 as described above. In addition, factors such as the number of memories, reliability, bandwidth, and uptime may be considered.
이때, 풀(600)은 해당 풀 안에 존재하는 노드가 사용할 기억장치를 종합해서 해당 기록을 끊임없이 유지하기 때문에, 주어진 시간에 분산된 데이터를 충분히 저장할 수 있는 풀(600)을 찾는데 도움이 될 수 있고, 이는 클라이언트 단말(100)과 노드 사이의 불필요한 소통을 없앨 수 있다. 그리고, 조건에 맞지 않는 다른 풀에 포함된 데이터를 이용하는 것을 피할 수 있다. 이때, 근접한 풀에 분산된 데이터를 수용할 기억 장치가 없는 경우 다른 풀에 저장될 수 있고, 동일 풀에 존재하는 노드끼리는 다른 풀에 존재하는 노드보다 많은 빈도, 주기를 가지며 커뮤니케이션을 할 수 있다. 이때, 대역폭 조건이 기준값을 만족하지 못한 경우에는 데이터 분산 프로세스를 거쳤을 경우 분산된 데이터의 조각의 크기도 작아질 수 있다.In this case, since the pool 600 constantly maintains the record by synthesizing the storage devices used by the nodes in the pool, it may be helpful to find the pool 600 that can sufficiently store the data distributed at a given time. This may eliminate unnecessary communication between the client terminal 100 and the node. In addition, it is possible to avoid using data contained in other pools that do not meet the conditions. In this case, when there is no storage device to accommodate the data distributed in the adjacent pool, it may be stored in another pool, and nodes in the same pool may communicate with more frequency and period than nodes in the other pool. In this case, when the bandwidth condition does not satisfy the reference value, when the data distribution process is performed, the size of the fragment of the distributed data may also be reduced.
데이터 분산 프로세스가 동작하는 경우 클라이언트 단말(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 fragments, and the divided data fragments must be extracted from the client terminal 100 to be distributed to each node. You will be inspected as in b). The Merkle Tree Debris Inspection can lightly handle heavy hashes that burden the I / O and processing units. In addition, the data fragment distribution process may store the Merkle Tree root and length of the client terminal 100, and may improve the transmission of the data fragment and the Merkle Tree leaf node. When partitioning and distributing data in parallel, the data fragments can be efficiently distributed to the 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. On the other hand, copying data pieces refers to replicating and maintaining pieces. That is, the node can replicate the data fragments from the nodes in the adjacent pool 600, to ensure the practicality of the data fragments and to prepare for the case that some nodes do not synchronize.
다시 도 2로 돌아와서, 수신부(140)는, 신뢰도가 가장 높은 값을 가지는 풀(600)을 선택하고, 요청 이벤트에 대응하는 조각 데이터를 선택된 풀(600)에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신할 수 있다. 이때, 수신부(140)는, 복수의 노드 중 어느 하나의 노드에서 요청 이벤트를 처리할 수 없는 경우, 어느 하나의 노드는 다른 풀(600)에 존재하는 노드로 요청 이벤트를 전송할 수 있다. 그리고, 각 풀(600)의 복수의 노드는 데이터 조각의 복수의 사본을 미러사이트 형식으로 유지하는 데이터 조각 복사(Data Fragmentation Mirroing)를 실행하여 보유할 수 있다. 이때, 수신부(140)에서 비동기적으로 인덱스에 기초하여 수신하는 이유는, 풀(600)에 포함된 복수의 노드가 서로 다르거나 같은 각각의 클럭(Clock)으로 P2P Gossip 프로토콜을 통하여 브로드캐스팅하기 때문이다. 여기서, Gossip 프로토콜은 하나의 메세지를 전송받은 Peer가 자신의 주변에 있는 임의의 Peer에게 메세지를 전송하는 것으로, 메세지 전송의 높은 신뢰성을 제공하면서 확장성을 제공하기 위해 개발되었고, 공지기술이므로 상세한 설명은 생략하기로 한다.2, the receiver 140 selects the pool 600 having the highest reliability value and asynchronously selects fragment data corresponding to the request event from a plurality of nodes included in the selected pool 600. Can be received based on the index. In this case, when the receiving unit 140 cannot process the request event in any one of the plurality of nodes, any one node may transmit the request event to a node existing in the other pool 600. In addition, a plurality of nodes of each pool 600 may be held by executing data fragmentation mirroing that maintains a plurality of copies of the data fragments in a mirror site format. In this case, the receiving unit 140 receives the asynchronously based on the index because a plurality of nodes included in the pool 600 are broadcast through the P2P Gossip protocol at different clocks that are different or the same. to be. Here, the Gossip protocol is a peer that transmits a message to any peer in the vicinity of the one that has received one message, and was developed to provide scalability while providing high reliability of message transmission. Will be omitted.
이때, 데이터 조각 복사를 도 4를 참조로 하여 설명하기로 한다. 이때, 도 4의 (a)를 참조하면, 풀(600) 내의 노드가 자신이 보유한 가용자원을 소진하고 있거나 더 이상의 요청은 받아들이지 못하는 경우, 노드는 다른 풀에 존재하는 노드에 도움을 청하게 된다. 예를 들어, 제 1 풀(Pool 1)은 전체에서 평균적인 신뢰도를 가진 가까운 풀이고, 제 3 풀(Pool3)은 전체 노드 중 높은 신뢰도를 가지지만 가장 거리가 먼 풀이다. 이때, 노드를 빌리는 전략은 인터넷 연결에 장애가 발생할지라도 파일을 손쉽게 복구할 수 있도록 각각의 노드는 데이터 조각의 복수의 사본을 미러사이트 형식으로 유지하는 것이다. 따라서, 하나의 노드가 동작을 멈추더라도 인접 노드가 다른 노드에게 알려주고, 각 노드는 데이터 조각의 히스토리를 담고 있기 때문에, 데이터 조각의 사본을 유지(보유, 소유)한 노드의 정보와 현재 활성화된 미러사이트의 수가 포함될 수 있고, 이를 통하여 다른 노드로부터 도움을 받아 자신에게 온 요청을 처리할 수가 있게 된다.In this case, data fragment copying will be described with reference to FIG. 4. In this case, referring to FIG. 4A, when a node in the pool 600 runs out of available resources held by the pool 600 or receives no more requests, the node requests help from a node in another pool. For example, the first pool Pool 1 is a close pool with average reliability in the whole, and the third pool Pool3 is the farthest pool with the highest reliability among all nodes. In this case, the strategy of renting a node is to maintain multiple copies of a piece of data in the form of a mirror site so that a file can be easily recovered even if the Internet connection fails. Thus, even if one node stops working, the adjacent node informs the other nodes, and each node contains a history of the data fragments, so that the information on the node that retains (owns, owns) a copy of the data fragments, and the currently active mirror. The number of sites can be included, allowing you to handle requests that come to you with help from other nodes.
또한 도 4의 (b)를 참조하면, 데이터 분산에 이용되는 머클트리를 설명하기 위한 도면을 도시하는데, 머클트리란 해시로 짜여진 데이터 구조, 즉 해시 목록의 가계도이며, 트리 구조의 일종으로, 리프 노드는 데이터가 담긴 블록의 해시이고, 비리프 노드는 자식 노드의 해시이다. 이때, 머클트리는 두 개의 가지, 즉 각각의 노드의 자식 노드가 최대 2 개까지 존재할 수 있는데, 머클트리의 리프와 데이터는 노드에 저장되고, 머클트리의 루트는 월렛에 저장될 수 있다. 머클증명은 클라이언트 단말(100)에서 PoR 증명을 실행하는데 이용될 수 있다. 즉, 분산 P2P 시스템에서 가장 중요한 요소는 데이터 증명인데, 동일한 데이터가 다수의 지역에 분포하고, 한 곳에 위치한 데이터의 일부가 변경되면, 모든 지역의 데이터가 변경되어야 하기 때문이다. 이에 따라, 데이터 증명은 모든 곳에 동일한 데이터가 존재함을 입증하기 위한 역할을 하지만, 하나의 시스템이 데이터를 입증하길 원할 때마다 일일이 데이터 증명 절차를 거칠 수 없으므로, 이때 머클트리를 이용하여 시간 및 자원소모를 막을 수 있게 한다. 이를 위하여, 네트워크를 통해 전송되는 데이터의 양은 가능한 일정하게 제한을 두되, 네트워크를 통해 파일 전체를 전송하기 보다는, 해당 파일에 담긴 해시를 전송하는 방법을 이용한다. In addition, referring to Figure 4 (b), there is shown a diagram for explaining the Merkle tree used for data distribution, Merkle tree is a family structure of a data structure, that is, a hash list woven into a hash, a kind of tree structure, leaf Nodes are hashes of blocks containing data, and non-leaf nodes are hashes of child nodes. At this time, there are two branches of Merkle Tree, that is, up to two child nodes of each node. Leaf and data of Merkle Tree may be stored in the node, and the root of the Merkle Tree may be stored in the wallet. Merkle proof can be used to perform PoR proof in the client terminal (100). In other words, the most important factor in a distributed P2P system is data proof, because the same data is distributed in multiple regions, and when a part of data located in one place is changed, data of all regions must be changed. As a result, data attestation serves to prove that the same data exists everywhere, but every time one system wants to verify the data, it cannot go through the data attestation process. To prevent consumption. To this end, the amount of data transmitted over the network is limited as constant as possible, but rather than transmitting the entire file over the network, a hash of the file is transmitted.
따라서, 복수의 노드 중 어느 하나의 노드가 보유한 데이터가 변경된 경우, 블록체인 내 모든 노드의 데이터가 변경되고, 복수의 노드가 보유한 데이터 증명은 머클트리 및 머클트리를 경유한 검색(Retrievability via Merkle Tree and Merkle Proof)을 이용하여 증명되고, 블록체인을 이루는 제 1 노드가 제 2 노드로 데이터 파일의 해시를 전송하면, 제 2 노드는 머클트리 루트에 저장된 해시와 전송된 해시를 비교하여 변화가 존재하는지를 확인하고, 확인 결과 변화가 존재하는 경우, 변경된 데이터를 찾을 때까지, 전송된 해시의 두 개의 서브트리 루트를 제 1 노드로 요청하고, 제 1 노드는 요청에 대응하여 해시를 생성한 후 제 2 노드로 전송할 수 있다.Therefore, when the data held by any one node of the plurality of nodes is changed, the data of all nodes in the blockchain is changed, and the data proof held by the plurality of nodes is searched through the Merkle Tree and the Merkle Tree (Retrievability via Merkle Tree). and Merkle Proof), when the first node in the blockchain sends a hash of the data file to the second node, the second node compares the hash stored in the Merkle Tree root with the transmitted hash. If there is a change, and if the result of the check is a change, the two nodes of the transmitted hash are requested to the first node until the changed data is found, and the first node generates a hash in response to the request and then the first node. Can transmit to 2 nodes.
상술한 방법을 이용하는 경우, 컴퓨터들은 동시에 가동되기 때문에 다수의 해시를 한번에 계산할 수 있으며, 컴퓨터는 네트워크를 통해 파일 전체가 아닌 해시만을 전송하기 때문에 훨씬 빠르다. 뿐만 아니라, 내용이 다른 데이터들이 발견된다면, 오류를 고치기 위해 파일 전체를 다시 작성하기 보다는 오류 부분만을 수정하는 것이 시간단축에 도움을 준다. 즉, 머클트리는 매번 파일 전체를 검증할 필요가 없기 때문에 분산 시스템에서 유용하게 사용되고, 증명되지 않은 소스가 발견되거나 진위여부를 판별하는데 도움을 줄 수 있다.With the method described above, computers can compute multiple hashes at once because they are running simultaneously, and the computer is much faster because it only sends hashes, not entire files, over the network. In addition, if data with different contents is found, fixing the error portion rather than rewriting the entire file to correct the error can help save time. This means that Merkle Tree is useful in distributed systems because it doesn't need to verify the entire file each time, and can help determine if an unverified 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 and the client terminal 100 for a plurality of nodes constituting the blockchain may be interworked. The distributed web server 300 is connected to a fragment collector for collecting and arranging pieces of data held by a plurality of nodes, and arranged so that pieces of data requested from the client terminal 100 form one file through the fragment collector. And aligned, the distributed web server 300 may transmit to the client terminal 100 when the processing of the arrangement and the sorted data is completed.
이때, 클라이언트 단말(100)에서 동적 콘텐츠를 요청하는 경우, 즉 웹 브라우저 상에 콘텐츠가 작동되기 전 미리 구동을 실시하는 종류의 스크립트나 코드인 경우, 클라이언트 단말(100)은 DNS 주소를 검색하고 확인하며, 확인이 된 경우 콘텐츠를 요청할 수 있다. 이때, 분산 웹서버(300)는, DNS 주소에 기반하여 요청된 콘텐츠에 대한 정보를 소유하고 있고, 소유하고 있는 정보에는 요청별로 응답하는 방법에 대한 콘텐츠 종류와 메타데이터도 포함되어 있다. 이때, 정적 웹사이트는 분산 웹서버(300)를 거치지 않더라도 일반적인 풀(600)로의 요청으로 충분히 제공받을 수 있음은 물론이다. In this case, when the client terminal 100 requests dynamic content, that is, a script or code of a type that executes before the content is operated on the web browser, the client terminal 100 searches for and confirms a DNS address. If confirmed, the content can be requested. In this case, the distributed web server 300 owns the information on the requested content based on the DNS address, and the owned information also includes the content type and metadata on how to respond for each request. At this time, 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 FIG. 5B, when the client terminal 100 searches for a URL address through a browser, a root DNS server, which is a pool 600 that is responsible for a domain name system (DNS) in a blockchain, is a DNS root zone. The TLD DNS server (top-level domain domain name system server) including the pool 600 whose response to the recording request can be directly responded to the client terminal 100 and whose ranking is set to the reliability level within the reference value when the DNS root zone is not. Can be authorized to respond on behalf of.
이때, DNS는 인터넷이나 개인 네트워크에 연결된 컴퓨터, 서비스, 또는 여러자원에 대해 계층 분화된 네이밍 시스템으로, DNS 서버는 인터넷이나 네트워크에 참여한 개체들에게 할당된 도메인에게 다른 정보를 연결하고, 네트워크 참여자 모두에게 할당된 도메인 네임들에 각기 다른 정보로 등록하며, 특정 컴퓨터의 블록체인 서비스들과 장치들을 찾고, 식별하기 위해 네트워크 프로토콜을 이용해 도메인 이름을 숫자로 된 IP 주소로 변환해줄 수 있다. 본 발명의 일 실시예에 따른 도메인 형식은, “d” +IANA (인터넷 할당 번호 관리기관)일 수 있다.In this case, DNS is a hierarchical naming system for computers, services, or resources connected to the Internet or a private network. A DNS server connects different information to a domain assigned to an object participating in the Internet or a network. You can register different information in the domain names assigned to you, and use network protocols to translate domain names into numeric IP addresses to find and identify blockchain services and devices on a particular computer. The domain format according to an embodiment of the present invention may be “d” + IANA (Internet Assignment Number Management Agency).
덧붙여서, 보상으로 주어지는 가상화폐를 설명하기로 한다. 가상화폐는 각 노드가 클라이언트 단말(100)의 요청으로 조각 데이터를 제공하거나, 조각 데이터를 모아 하나의 파일로 클라이언트 단말(100)로 제공하거나 하는 등 상술한 노드의 각 제공 행위에 대한 대가로 주어진다. 이때, 본 발명의 일 실시예에 따른 인터넷 서비스에서는 가상화폐를 채취함으로써 자급자족의 성격을 갖는 자가자금조달의 시스템을 가지기 때문에 제3자에게 광고수익을 제공할 필요가 없다. 현재, 대규모 기업은 개인이 중요한 정보를 소유하는 것을 원하지 않으며, 검열과 통제가 이루어지고 있는데, 본 발명의 일 실시예에 따른 가상화폐를 적용하는 경우, 가상화폐를 얻기 위하여, 블록체인 내에서 콘텐츠를 제공하는 노드 또는 데이터 조각을 제공하는 노드는 자신이 더 가치있는 콘텐츠나 데이터 조각을 보유하거나 제공하며, 더 높은 신뢰도를 얻기 위해 컴퓨팅 자원 및 네트워킹 자원의 품질을 높일 것이다.In addition, the cryptocurrency given as a reward will be described. The virtual currency is given in return for each of the above-described provision actions of the node, such as each node providing fragment data at the request of the client terminal 100, collecting fragment data, and providing the fragment data to the client terminal 100 as a single file. . At this time, the Internet service according to an embodiment of the present invention does not need to provide advertising revenue to third parties because it has a system of self-financing having self-sufficiency by collecting virtual currency. At present, large enterprises do not want individuals to own important information, and censorship and control are being performed. When applying cryptocurrency according to an embodiment of the present invention, in order to obtain virtual currency, contents within a blockchain A node that provides a node or a piece of data that owns or provides a piece of content or data that is more valuable, will increase the quality of computing resources and networking resources to achieve higher reliability.
이때, 콘텐츠의 가치를 평가하기 위한 파라미터는, 콘텐츠의 수, 정서적 참여, 전체 조회수, 단일 조회수, 시청지속시간, 검색능력 적합성, 링크된 횟수, 요청 건수 등을 포함할 수 있다. 여기서, 정서적 참여(Emotional Engagement, E)는, 인터넷 상에서 상호적으로 이루어지는 정서적 지표를 통해 콘텐츠에 대한 선호도를 측정하는 지표이다. 이때, 선호도를 가진 이모티콘은 +1, 반감을 포함하는 부정 이모티콘은 -1을 부여할 수 있다. 조회수(View Count, Vc)는, 콘텐츠의 일별 시청횟수로, 예를 들어 2시간짜리 영화가 200만 조회수를 기록했다면, 200만은 콘텐츠 시청 수요의 산술적 수치가 될 수 있으므로, 조회수의 높음은 콘텐츠의 가치가 높다는 뜻으로 해석할 수 있다. 또한, 단일 조회수(Unique View Count, Vu)는, 조회수(View Count)와 비교하면, 조회수가 방문자를 기준으로 한 산술 수치라면, 단일 조회수는 콘텐츠를 기준으로 한 산술 수치다. 하나의 콘텐츠에 대한 뷰어별 방문수를 의미하고, 중복된 콘텐츠 시청을 제외한다. 시청 지속 시간(Stickiness, S)은 콘텐츠 시청자와 페이지, 웹사이트 방문자가 머무는 시간이다.In this case, the parameters for evaluating the value of the content may include the number of contents, emotional participation, total views, single views, viewing duration, relevance of search ability, number of links, number of requests, and the like. Emotional Engagement (E) is an index for measuring the preference for content through emotional indicators mutually formed on the Internet. In this case, an emoticon having a preference may be given a +1, and a negative emoticon including a antagonism may be given a -1. View count (Vc) is the number of daily views of content, for example, if a two-hour movie had 2 million views, 2 million could be an arithmetic figure of content viewing demand, so a high view count It can be interpreted to mean high value. In addition, the unique view count (Vu) is an arithmetic value based on content if the view count is an arithmetic value based on a visitor as compared to the view count. Refers to the number of visits per viewer for one piece of content and excludes viewing of duplicated content. Stickiness duration (S) is the length of time that content viewers, pages, and website visitors stay.
검색 능력 적합성(Relevance, R)은 콘텐츠의 적합성 여부이다. 즉, 검색 능력 적합성은 검색엔진과 알고리즘의 투명성으로 결정되는데, 구글과 같은 검색엔진은 광고 수익 창출을 위해 고안된 구조이므로, 불가피하게 이용자의 본래 관심과 무관한 검색 결과도 불러오고, 저하된 질의 콘텐츠를 제작한 부적합한 크리에이터에게 과잉보상을 주는 결과를 낳을 수도 있다. 이에 반해, 본 발명의 일 실시예는 채굴된 가상화폐의 일부, 예를 들어 10%가 유지개발로 사용되므로 제3자의 기관은 전혀 존재할 수 없다. 링크 (Linked, L)는 인터넷 상에서 언급되거나 참조된 횟수이고, SPC는 가상화폐의 경제적 가치이다.Relevance (R) is the relevance of the 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, they inevitably bring up search results irrelevant to the user's original interest and degraded query contents. It may also result in overcompensation to inappropriate creators who have created. In contrast, in one embodiment of the present invention, since a part of the mined cryptocurrency, for example, 10% is used for maintenance, there is no third party institution. 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 parameters 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 of the Internet service of the present invention in the market, and SPC means the value of virtual currency 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 above-mentioned matters for the method of providing the Internet service using the blockchain and distributed infrastructure P2P model based PoR authentication of FIG. 2 to FIG. 5 are described above with reference to FIG. 1 through the Internet service using the blockchain and distributed infrastructure P2P model based PoR authentication. The description of the providing method may be easily inferred from the same or described contents, and thus descriptions thereof will be omitted.
도 6은 본 발명의 일 실시예에 따른 도 1의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 6을 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 6에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.FIG. 6 is a diagram illustrating a process of transmitting and receiving data between components included in the Internet service providing system using the blockchain and distributed infrastructure P2P model-based PoR authentication of FIG. 1 according to an embodiment of the present invention. Hereinafter, an example of a process in which data is transmitted and received between each component will be described with reference to FIG. 6, but the present disclosure is not limited to the above-described embodiments, and is illustrated in FIG. 6 according to the various embodiments described above. It is apparent to those skilled in the art that the process of transmitting and receiving data may 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).The client terminal selects at least one pool having a predetermined proximity among the pools in which nodes forming a blockchain connected to the client terminal by distributed P2P are clustered (S6200), and reliability of the selected at least one pool. Verify using the PoR proof (S6300).
또한, 클라이언트 단말은, 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 요청 이벤트에 대응하는 조각 데이터를 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신한다(6400).In addition, the client terminal selects the pool having the highest reliability value, and receives the fragment data corresponding to the request event asynchronously from the plurality of nodes included in the selected pool based on the index (6400).
상술한 단계들(S6100~S6400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S6100~S6400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.The order between the above-described steps S6100 to S6400 is merely an example, and is not limited thereto. That is, the order between the above-described steps (S6100 ~ S6400) may be changed mutually, some of the steps may be executed or deleted at the same time.
이와 같은 도 6의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 5를 통해 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.The details of the method for providing the Internet service using the blockchain and distributed infrastructure P2P model based PoR authentication of FIG. 6 are described above with reference to the blockchain and distributed infrastructure P2P model based PoR authentication. The description of the providing method may be easily inferred from the same or described contents, and thus descriptions thereof will be omitted.
이와 같은 도 6의 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 5를 통해 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.The details of the method for providing the Internet service using the blockchain and distributed infrastructure P2P model based PoR authentication of FIG. 6 are described above with reference to the blockchain and distributed infrastructure P2P model based PoR authentication. The description of the providing method may be easily inferred from the same or described contents, and thus descriptions thereof will be omitted.
도 6을 통해 설명된 일 실시예에 따른 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An internet service providing method using blockchain and distributed infrastructure P2P model based PoR authentication 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 the computer. It may 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. In addition, computer readable media may include all computer storage media. 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 증명을 이용한 인터넷 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.According to an embodiment of the present invention, an Internet service providing method using blockchain and distributed infrastructure P2P model-based PoR authentication includes an application basically installed in a terminal (that is, a program included in a platform or an operating system basically loaded in the terminal). It may also be executed by the application (ie, a program) that the user installed directly on the master terminal through an application providing server, such as an application store server, an application or a web server associated with the service. In this sense, the Internet service providing method using the blockchain and distributed infrastructure P2P model-based PoR authentication according to the embodiment of the present invention described above is implemented as an application (ie, a program) that is basically installed in a terminal or directly installed by a user. And a computer readable recording medium such as a terminal.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in 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 exemplary 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 shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.
본 발명은 각 노드의 신뢰도를 검증하여 자원 요청 및 검색의 가용성 및 속도를 증가시키고, 자원제공에 대한 보상을 지급하는 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법 분야에 적용할 수 있다.The present invention is applicable to the field of Internet service providing method using the blockchain and distributed infrastructure P2P model-based PoR authentication that increases the availability and speed of resource requests and searches by verifying the reliability of each node, and provides compensation for resource provision. Can be.
Claims (7)
- 클라이언트 단말에서 실행되는 인터넷 서비스 제공 방법에 있어서,In the Internet service providing method executed in the client terminal,인터넷 브라우저를 통하여 정보를 검색 또는 저장하기 위한 요청 이벤트를 전송하는 단계;Transmitting a request event for retrieving or storing information through an internet browser;상기 클라이언트 단말과 분산 P2P로 연결된 블록체인을 이루는 노드가 클러스터링된 풀(Pool) 중 기 설정된 인접도를 가지는 적어도 하나의 풀을 선택하는 단계;Selecting at least one pool having a predetermined proximity among clustered pools of nodes forming a blockchain connected to the client terminal through distributed P2P;상기 선택된 적어도 하나의 풀의 신뢰도를 PoR 증명을 이용하여 확인하는 단계;Confirming reliability of the at least one selected pool using PoR proof;상기 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 상기 요청 이벤트에 대응하는 조각 데이터를 상기 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신하는 단계;Selecting a pool having the highest reliability value and asynchronously receiving fragment data corresponding to the request event from a plurality of nodes included in the selected pool based on an index;를 포함하는, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.Internet service providing method using a blockchain and distributed infrastructure P2P model-based PoR proof, including.
- 제 1 항에 있어서,The method of claim 1,상기 PoR 증명은, 노드별 가동시간 및 저장공간명성의 합으로 상기 노드의 신뢰도(R)가 산출되는 공식(R=Ut+Sr)을 의미하며,The PoR proof means a formula (R = Ut + Sr) in which the reliability R of the node is calculated based on the sum of uptime and storage space reputation of each node.상기 노드별 가동시간(Ut)은, 1시간(P)마다 하나의 노드가 데이터 저장기능을 수행할 수 있는 총 시간(T)의 백분율로 산출되고,The uptime 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,상기 저장공간명성(Sr)은 1시간동안 각 노드에서 유지해야 하는 기 설정된 최소유지저장공간(Mms)에 대한 하나의 노드의 저장공간 여유분(S)에 대한 평균용량의 비율을 백분율한 값으로 산출되는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.The storage space reputation (Sr) is calculated as a percentage of the ratio of the average capacity of the storage space margin (S) of one node to the predetermined minimum maintenance storage space (Mms) that must be maintained at each node for 1 hour. Internet service providing method using blockchain and distributed infrastructure P2P model-based PoR proof.
- 제 2 항에 있어서,The method of claim 2,상기 풀의 신뢰도는, 상기 풀에 포함된 복수의 노드의 신뢰도(Ri)를 합한 값(Σ, i는 1부터 n까지)을 상기 노드의 수(n)로 나눈 값으로, 상기 복수의 노드의 신뢰도의 평균이고,The reliability of the pool is a value obtained by adding up the reliability Ri of the plurality of nodes included in the pool (Σ, i is from 1 to n) divided by the number of nodes (n). Average of reliability,상기 클라이언트 단말과 메세지를 송수신하는 노드는 상기 풀 내의 복수의 노드를 관리하면서 상기 풀에 속해있는 노드인 풀 매니저 노드인 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.The node for transmitting and receiving a message with 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, Internet service providing method using block chain and distributed infrastructure P2P model based PoR authentication.
- 제 1 항에 있어서,The method of claim 1,상기 신뢰도가 가장 높은 값을 가지는 풀을 선택하고, 상기 요청 이벤트에 대응하는 조각 데이터를 상기 선택된 풀에 포함된 복수의 노드로부터 비동기적으로 인덱스에 기초하여 수신하는 단계는,Selecting a pool having the highest reliability value, and receiving the fragment data corresponding to the request event asynchronously from the plurality of nodes included in the selected pool based on the index,상기 복수의 노드 중 어느 하나의 노드에서 상기 요청 이벤트를 처리할 수 없는 경우, 상기 어느 하나의 노드는 다른 풀에 존재하는 노드로 상기 요청 이벤트를 전송하는 단계;If any one of the plurality of nodes is unable to process the request event, the one node sends the request event to a node in another pool;를 포함하고,Including,각 풀의 복수의 노드는 데이터 조각의 복수의 사본을 미러사이트 형식으로 유지하는 데이터 조각 복사(Data Fragmentation Mirroing)를 실행하여 보유하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.Internet services using PoR proof based on blockchain and distributed infrastructure P2P model, where multiple nodes in each pool are held by executing Data Fragmentation Mirroing, which maintains multiple copies of the data fragments in the form of mirror sites. How to Provide.
- 제 1 항에 있어서,The method of claim 1,상기 복수의 노드 중 어느 하나의 노드가 보유한 데이터가 변경된 경우, 상기 블록체인 내 모든 노드의 데이터가 변경되고,When data held by any one node of the plurality of nodes is changed, data of all nodes in the blockchain is changed,상기 복수의 노드가 보유한 데이터 증명은 머클트리 및 머클트리를 경유한 검색(Retrievability via Merkle Tree and Merkle Proof)을 이용하여 증명되고,Proof of data held by the plurality of nodes is proved using a retrievability via Merkle Tree and Merkle Proof,상기 블록체인을 이루는 제 1 노드가 제 2 노드로 데이터 파일의 해시를 전송하면, 상기 제 2 노드는 머클 트리 루트에 저장된 해시와 상기 전송된 해시를 비교하여 변화가 존재하는지를 확인하고,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 with the transmitted hash to check whether there is a change,상기 확인 결과 변화가 존재하는 경우, 변경된 데이터를 찾을 때까지, 상기 전송된 해시의 두 개의 서브트리 루트를 상기 제 1 노드로 요청하고, 상기 제 1 노드는 요청에 대응하여 해시를 생성한 후 상기 제 2 노드로 전송하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.If there is a change as a result of the checking, 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 The Internet service providing method using the blockchain and distributed infrastructure P2P model-based PoR authentication to transmit to the second node.
- 제 1 항에 있어서,The method of claim 1,상기 클라이언트 단말의 요청에 대응하기 위하여 상기 블록체인을 이루는 복수의 노드를 위한 분산 웹서버와 상기 클라이언트 단말이 연동되고,In order to respond to a request of the client terminal, a distributed web server for the plurality of nodes forming the blockchain and the client terminal are interworked.상기 분산 웹서버는 상기 복수의 노드가 보유한 데이터 조각을 모아서 배열시키는 조각 콜렉터(Fragment Collector)와 연결되고, 상기 조각 콜렉터를 통하여 상기 클라이언트 단말에서 요청한 데이터의 조각이 한 개의 파일을 형성되도록 배열 및 정렬되고,The distributed web server is connected to a fragment collector for collecting and arranging pieces of data held by the plurality of nodes, and arranging and arranging the pieces of data requested from the client terminal to form one file through the fragment collector. Become,상기 분산 웹서버는 배열 및 정렬된 데이터의 가공이 완료되는 경우, 상기 클라이언트 단말로 전송하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.The distributed web server transmits to the client terminal when processing of the arranged and aligned data is completed, the Internet service providing method using blockchain and distributed infrastructure P2P model based PoR authentication.
- 제 1 항에 있어서,The method of claim 1,상기 클라이언트 단말에서 브라우저를 통한 URL 주소를 검색하는 경우, 상기 블록체인 내 DNS(Domain Name System)을 담당하는 풀인 루트 DNS 서버는 DNS 루트 영역 내의 기록 요청은 직접 상기 클라이언트 단말로 응답하고,When the client terminal retrieves a URL address through a browser, a root DNS server that is a pool in charge of a domain name system (DNS) in the blockchain directly responds to a recording request in a DNS root region to the client terminal.상기 DNS 루트 영역이 아닌 경우 상기 신뢰도로 설정된 랭킹이 기준값 이내인 풀이 포함된 TLD DNS 서버(Top-Level Domain Domain Name System Server)로 권한을 부여하여 대리응답하도록 하는 것인, 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법.Blockchain and distributed infrastructure P2P is authorized to respond to the TLD DNS server (Top-Level Domain Domain Name System Server) including the pool that the ranking set to the reliability is within the reference value if not the DNS root zone. How to provide Internet service using model based PoR proof.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0076618 | 2018-07-02 | ||
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 (1)
Publication Number | Publication Date |
---|---|
WO2020009287A1 true WO2020009287A1 (en) | 2020-01-09 |
Family
ID=69060675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211782A1 (en) * | 2009-02-16 | 2010-08-19 | Microsoft Corporation | Trusted cloud computing and services framework |
US8381062B1 (en) * | 2007-05-03 | 2013-02-19 | Emc Corporation | Proof of retrievability for archived files |
US20170236094A1 (en) * | 2013-09-12 | 2017-08-17 | Netspective Communications Llc | Blockchain-based crowdsourced initiatives tracking system |
US20170364700A1 (en) * | 2015-06-02 | 2017-12-21 | ALTR Solutions, Inc. | Immutable logging of access requests to distributed file systems |
WO2018115992A1 (en) * | 2016-12-22 | 2018-06-28 | Itext Group | Distributed blockchain-based method for saving the location of a file |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190036702A1 (en) | 2016-03-31 | 2019-01-31 | bitFlyer, Inc | Private node, processing method for private node, and program for same |
US10262140B2 (en) | 2016-09-29 | 2019-04-16 | Intel Corporation | Methods and apparatus to facilitate blockchain-based boot tracking |
-
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8381062B1 (en) * | 2007-05-03 | 2013-02-19 | Emc Corporation | Proof of retrievability for archived files |
US20100211782A1 (en) * | 2009-02-16 | 2010-08-19 | Microsoft Corporation | Trusted cloud computing and services framework |
US20170236094A1 (en) * | 2013-09-12 | 2017-08-17 | Netspective Communications Llc | Blockchain-based crowdsourced initiatives tracking system |
US20170364700A1 (en) * | 2015-06-02 | 2017-12-21 | ALTR Solutions, Inc. | Immutable logging of access requests to distributed file systems |
WO2018115992A1 (en) * | 2016-12-22 | 2018-06-28 | Itext Group | Distributed blockchain-based method for saving the location of a file |
Also Published As
Publication number | Publication date |
---|---|
KR102107237B1 (en) | 2020-06-03 |
KR20200003625A (en) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9348918B2 (en) | Searching content in distributed computing networks | |
RU2383920C2 (en) | System and method for client-supported search using web-agent | |
Liang et al. | Search engine for the internet of things: Lessons from web search, vision, and opportunities | |
CN105009121B (en) | Predictive storage service | |
US10057275B2 (en) | Restricted content publishing with search engine registry | |
US11281730B1 (en) | Direct leg access for proxy web scraping | |
US20200065137A1 (en) | Tracking Usage of User Interaction Data Using Blockchains | |
US20090234858A1 (en) | Use Of A Single Service Application Instance For Multiple Data Center Subscribers | |
Syuntyurenko et al. | Trends and risks of network technologies | |
US20230018983A1 (en) | Traffic counting for proxy web scraping | |
WO2020009287A1 (en) | Method for providing internet service using por on basis of blockchain and distributed infrastructure p2p model | |
KR101128623B1 (en) | System and Method for Collaborative Work of Document | |
EP4227828A1 (en) | Web scraping through use of proxies, and applications thereof | |
Mori | A preliminary analysis of data collection and retrieval scheme for green information-centric wireless sensor networks | |
Dongo et al. | Distributed file system for ndn: an iot application | |
CN106855872A (en) | The method for quickly retrieving of the mass picture based on Hadoop platform | |
CA2520258C (en) | System and method for dynamically generating a user-centric portal | |
KR20030069635A (en) | System and method for a data integration management of intranet by peer to peer | |
Xu et al. | Odsa: Chord-based object discovery service architecture for the Internet of Things | |
Shivakumar et al. | Digital Workplace Development | |
Ye et al. | EdgeStreaming: Secure Computation Intelligence in Distributed Edge Networks for Streaming Analytics | |
Ametepe et al. | Lightweight Intuitive Provenance (LiP) in a distributed computing environment | |
Sesha Bhargavi et al. | Recommendation Based P2P File Sharing on Disconnected MANET | |
WO2023280593A1 (en) | Web scraping through use of proxies, and applications thereof | |
JP2021144514A (en) | Personal information management system and personal information management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18925106 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18925106 Country of ref document: EP Kind code of ref document: A1 |