CN114222992A - 控制方法、服务器、以及程序 - Google Patents
控制方法、服务器、以及程序 Download PDFInfo
- Publication number
- CN114222992A CN114222992A CN202080057252.1A CN202080057252A CN114222992A CN 114222992 A CN114222992 A CN 114222992A CN 202080057252 A CN202080057252 A CN 202080057252A CN 114222992 A CN114222992 A CN 114222992A
- Authority
- CN
- China
- Prior art keywords
- peer
- transaction data
- information
- server
- peer information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
-
- 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/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
- H04L67/1055—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers involving connection limits
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
接收包括用于将构成P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由第一对等者赋予给对等信息的签名的事务数据(步骤S301),利用接收的事务数据中包括的签名,进行接收的事务数据的验证(步骤S302),在验证成功的情况下,将事务数据存放到分散账本(步骤S304)。
Description
技术领域
本发明涉及控制方法、服务器、以及程序。
背景技术
参与对等(P2P)网络的对等者,根据从服务器或其他的对等者获得的对等信息来进行对等连接(非专利文献1)。
(现有技术文献)
(非专利文献)
非专利文献1:Bitcoin Developer Guide,[令和2年7月1日检索],互联网URL:https://btcinformation.org/en/developer-guide#block-prototypes
然而,以往存在与对等信息的防篡改性或可靠性有关的问题。
发明内容
于是,本发明的目的在于提供用于适当地管理对等信息的控制方法等。
本发明的一个形态所涉及的控制方法,是在具备拥有分散账本的多个服务器的P2P管理系统中,由该多个服务器之中的一个服务器执行的控制方法,在所述控制方法中,接收事务数据,该事务数据包括用于将构成P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,利用接收的所述事务数据中包括的所述签名,进行接收的所述事务数据的验证,在所述验证成功的情况下,将所述事务数据存放到所述分散账本。
另外,这些总括性或具体形态,也可以由系统、装置、集成电路、计算机程序或计算机可读取的CD-ROM等的记录介质实现,也可以由系统、装置、集成电路、计算机程序以及记录介质的任意组合实现。
根据本发明的控制方法,能够适当地管理对等信息。
附图说明
图1是示出实施方式1的系统的整体的结构的示意图。
图2是示出实施方式1的对等者的功能结构的方框图。
图3是示出实施方式1的代理服务器的功能结构的方框图。
图4是示出实施方式1的账本服务器的功能结构的方框图。
图5是示出实施方式1的事务数据的一个例子的说明图。
图6是示出实施方式1的为了本装置的对等信息的写入而对等者执行的处理的流程图。
图7是示出实施方式1的对等者获得其他装置的对等信息来参与P2P系统时执行的处理的流程图。
图8是示出实施方式1的为了对等信息的写入以及获得而代理服务器执行的处理的流程图。
图9是示出实施方式1的为了对等信息的写入以及读出而账本服务器执行的处理的流程图。
图10是示出实施方式1的对等信息的登记以及更新时系统执行的处理的序列图。
图11是示出实施方式1的与新的对等者连接时系统执行的处理的序列图。
图12是示出实施方式2的系统的整体的结构的示意图。
图13是示出实施方式2的对等者的功能的方框图。
图14是示出实施方式3的系统的整体的结构的示意图。
图15是示出实施方式3的对等者的功能的方框图。
图16是示出区块链的数据结构的说明图。
图17是示出事务数据的数据结构的说明图。
具体实施方式
(作为本发明的基础的知识)
本发明者关于在“背景技术”栏中记载的与对等(P2P)网络有关的技术发现会发生以下的问题。
在P2P网络中,获得参与该网络的其他的对等者的信息的方法有如下方法,即,各个对等者询问管理参与该P2P网络的所有的对等者的信息的服务器的方法(混合型),或者,连接的对等者彼此交换信息的方法(纯粹型)等。参与P2P网络的对等者,在任何方法中,都根据从服务器或其他的对等者获得的对等信息,进行对等连接(非专利文献1)。
然而,在混合型的P2P网络中,有时集中管理的对等管理服务器的信息被故意或过失地重写成不适当的信息。此时存在的问题是,能够将参与P2P网络的对等者引导到DoS攻击,或者,P2P网络本身停止。
另一方面,在纯粹型的P2P网络中,想要参与P2P网络的新对等者需要通过某些方法来知道最初的对等连接目的地。此时,若新对等者与恶意对等者连接,则存在导致与所述同样的向DoS攻击的引导、或对恶意P2P网络的参与等的问题。
如此,以往存在与对等信息的防篡改性或可靠性有关的问题。
于是,本发明的目的在于提供用于P2P系统中使用的对等信息由服务器适当地管理的控制方法等。
为了解决这样的问题,本发明的一个形态所涉及的控制方法,是在具备拥有分散账本的多个服务器的P2P管理系统中,由该多个服务器之中的一个服务器执行的控制方法,在所述控制方法中,接收事务数据,该事务数据包括用于将构成P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,利用接收的所述事务数据中包括的所述签名,进行接收的所述事务数据的验证,在所述验证成功的情况下,将所述事务数据存放到所述分散账本。
根据所述形态,服务器,将包括对等信息的事务数据存放到分散账本并管理。分散账本中存放的对等信息,基于实质上难以篡改的特性,以不被篡改的方式被管理。因此,服务器能够适当地管理对等信息。
例如,接收的所述事务数据也可以是,在所述第一对等者具有的所述对等信息被更新时,以包括更新后的所述对等信息的方式被生成的事务数据。
根据所述形态,服务器,接收包括更新后的对等信息的事务数据,将该事务数据存放到分散账本并管理。因此,将分散账本中存放的事务数据维持为包括最新的对等信息的状态。因此,服务器,能够适当地管理最新的对等信息。
例如,进一步,在接受到所述对等信息的读出请求的情况下也可以,从所述分散账本中存放的所述事务数据中读出所述对等信息,将读出的所述对等信息发送给所述读出请求的请求源。
根据所述形态,服务器,相对于对等信息的获得请求,发送在以适当的状态下存放的对等信息。如此,服务器,通过适当地提供对等信息,从而能够适当地管理对等信息。
例如,在发送读出的所述对等信息时也可以,发送参照所述分散账本而读出的对等信息中的一个以上的对等信息,该一个以上的对等信息中包括的参数处于规定的范围内,由此表示具有该对等信息的对等者是适于连接的对等者。
根据所述形态,服务器发送示出适于连接的对等者的对等信息,因此,接收到对等信息的对等者,通过与从服务器发送的对等信息所示的对等者连接,从而能够选择并连接适于连接的对等者。因此,服务器,通过提供适于连接的对等者的对等信息,从而能够适当地管理对等信息。
例如,在发送读出的所述对等信息时也可以,根据参照所述分散账本而读出的对等信息,决定适于连接的对等者,发送决定的所述对等者的对等信息。
根据所述形态,示出服务器决定为适于连接的对等者的对等者的对等信息由服务器器发送,因此,接收到对等信息的对等者,通过与从服务器发送的对等信息所示的对等者连接,从而能够与适于连接的对等者连接。因此,服务器,通过决定并提供适于连接的对等者的对等信息,从而能够适当地管理对等信息,并控制P2P网络。
例如,在将所述事务数据存放到所述分散账本时也可以,由所述多个服务器共享所述事务数据,在执行规定的共识算法来共识了所述事务数据的正当性的情况下,将所述事务数据存放到所述分散账本。
根据所述形态,服务器,确认在多个服务器间共识了分散账本中存放的事务数据的正当性后,将该事务数据存放到分散账本。因此,服务器能够由多个服务器的分散账本更适当地管理对等信息。
例如,所述对等信息也可以包括,所述第一对等者的识别信息、所述第一对等者的IP(Internet Protocol)地址、用于所述第一对等者与所述其他的对等者的通信的端口号、所述第一对等者当前连接的对等者的识别信息、所述第一对等者的对所述P2P系统的参与持续时间、与所述第一对等者当前连接的对等者的连接持续时间、所述第一对等者的公开密钥、以及所述第一对等者的最大允许连接数中的至少一个。
根据所述形态,服务器能够,利用作为对等信息的、对等者识别信息、IP地址、端口号、连接目的地识别信息、参与持续时间、连接持续时间、公开密钥、或最大允许连接数,更仔细且适当地管理对等信息,并控制P2P网络。
例如,也可以是,所述P2P管理系统,经由代理服务器与所述P2P系统连接,所述第一对等者将所述对等信息以及所述签名发送给所述代理服务器,所述代理服务器,生成代理事务数据并发送给所述一个服务器,所述代理事务数据是包括所述第一对等者发送的所述对等信息以及所述签名的事务数据,在接收所述事务数据时,将所述代理服务器发送的所述代理事务数据,作为所述事务数据来接收。
根据所述形态,服务器,由分散账本管理从对等者经由代理服务器发送的包括对等信息的事务数据。此时,对等者,只要将对等信息以及签名发送给代理服务器即可,因此,不需要安装以及执行事务数据的生成处理这样的与分散账本相关联的处理。因此,具有对等者的处理负荷的减少、电力消耗的减少的效果。如此,服务器,在对等者不安装与分散账本有关的处理,也能够适当地管理对等信息。
例如,所述P2P管理系统也可以与所述P2P系统连接。
根据所述形态,服务器,由分散账本管理从对等者发送的包括对等信息的事务数据。因此,在对等者与服务器之间不需要存在其他的装置,因此,服务器具有能够由排除了单点故障的结构(换而言之,没有单点故障的结构)来管理P2P系统的效果。因此,服务器能够,由具有比较高的可用性的结构,适当地管理对等信息。
并且,本发明的一个形态所涉及的控制方法,是介于具备拥有分散账本的多个服务器的P2P管理系统与P2P系统之间的代理服务器的控制方法,在所述控制方法中,接收用于将构成所述P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,生成包括接收的所述对等信息以及所述签名的事务数据,并发送给构成所述P2P管理系统的多个服务器。
根据所述形态,代理服务器,生成包括从对等者发送的对等信息的事务数据,并存放到服务器的分散账本。此时,对等者,只要将对等信息以及签名发送给代理服务器即可,因此,不需要安装以及执行事务数据的生成处理这样的与分散账本相关联的处理。因此,具有对等者的处理负荷的减少、电力消耗的减少的效果。如此,代理服务器,在对等者不安装与分散账本有关的处理,也能够由服务器适当地管理对等信息。
并且,本发明的一个形态所涉及的服务器,是具备拥有分散账本的多个服务器的P2P管理系统中的该多个服务器中的一个服务器,所述服务器具备账本控制部、以及存储所述分散账本的存储部,所述账本控制部,接收事务数据,该事务数据包括用于将构成P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,利用接收的所述事务数据中包括的所述签名,进行接收的所述事务数据的验证,在所述验证成功的情况下,将所述事务数据存放到所述分散账本。
根据所述形态,服务器得到与上述控制方法同样的效果。
并且,本发明的一个形态所涉及的程序是,用于使计算机执行上述控制方法的程序。
根据所述形态,程序得到与上述控制方法同样的效果。
另外,这些总括性或具体形态,也可以由系统、装置、集成电路、计算机程序或计算机可读取的CD-ROM等的记录介质实现,也可以由系统、装置、集成电路、计算机程序以及记录介质的任意组合实现。
以下,对于实施方式,参照附图进行具体说明。
另外,以下说明的实施方式,都示出总括性或具体例子。以下的实施方式所示的数值、形状、材料、构成要素、构成要素的配置位置以及连接方式、步骤、步骤的顺序等是一个例子,其主旨并非是限定本发明。并且,对于以下的实施方式的构成要素中的示出最上位概念的实施方案中没有记载的构成要素,作为任意的构成要素而被说明。
(实施方式1)
在本实施方式中,说明适当地管理对等信息的P2P管理系统以及其控制方法。
在此,参照附图说明如下的例子,即,将P2P对等者拥有的用于P2P连接的信息记录到分散账本,然后,参照分散账本来执行对等者之间的连接的对等者的例子。
(1.1系统的整体结构)
图1是示出本实施方式的系统1的整体结构的示意图。
如图1示出,系统1具备对等者100A、100B和100C、代理服务器200、以及账本服务器300A、300B和300C,这些装置经由网络N连接。
对等者100A、100B以及对等者100C是,构成P2P系统10的计算机。另外,关于构成P2P系统10的对等者的数量,并不限于3,也可以是1以上的任意数量。
账本服务器300A、300B以及300C是,构成P2P管理系统30的服务器装置(也简称为服务器)。另外,关于构成P2P管理系统30的对等者的数量,并不限于3,也可以是1以上的任意数量。
对等者100A是,构成P2P系统10的P2P对等者的其中之一。对等者100A,经由网络N与构成P2P系统10的其他的对等者100B以及100C可通信地连接。对等者100A,与对等者之间通过通信进行信息的收发,从而发挥P2P系统10提供的规定的功能的一部分。规定的功能有如下功能,例如,由多个对等者将大量的电子文件分散并保持,并且提供给请求者的功能,或者,由多个对等者分散并执行大规模的计算处理,将结果提供给请求者的功能等,但并不限于此。
对等者100A,保持用于构成P2P系统10的对等者之间的连接的对等信息(后述),经由代理服务器200将对等信息登记到P2P管理系统30。并且,对等者100A,经由代理服务器200获得P2P管理系统30中登记的对等信息,利用获得的对等信息与未连接的对等者连接。
对等者100B以及100C,分别是具有与对等者100A相同的功能的对等者,与对等者100A独立地动作。另外,对等者100A、100B以及100C进行动作,由此P2P系统10发挥规定的功能。
代理服务器200是一种作为对等者100A等的代理的服务器,将对等信息登记到P2P管理系统30拥有的分散账本,并且从上述分散账本中读出对等信息。
账本服务器300A是,构成P2P管理系统30的P2P对等者的其中之一。账本服务器300A是,由分散账本管理P2P系统10中的对等者的对等信息的服务器。账本服务器300A,经由网络N与构成P2P管理系统30的其他的账本服务器300B以及300C可通信地连接。
账本服务器300A,经由代理服务器200与对等者100A等连接,将包括从对等者100A等接收的对等信息的事务数据存放到分散账本,并且,从分散账本中存放的事务数据中读出对等信息,经由代理服务器200向对等者100A等提供对等信息。
账本服务器300B以及300C,分别是具有与账本服务器300A相同的功能的账本服务器,与账本服务器300A独立地动作。另外,账本服务器300A、300B以及300C进行动作,由此P2P管理系统30发挥用于管理P2P系统10的功能。
以后,详细说明对等者100A等、代理服务器200、以及账本服务器300A等。
(1.2对等者100A的结构)
图2是示出本实施方式的对等者100A的功能结构的方框图。另外,对等者100B以及100C也具有,与对等者100A同样的结构。
如图2示出,对等者100A具备,写入请求部101、获得请求部102、决定部103、通信部104、以及执行部105。对等者100A具备的各个功能部能够通过由对等者100A具备的处理器(例如,CPU(Central Processing Unit))使用存储器执行规定的程序来实现。
写入请求部101是,进行将本装置即对等者100A的对等信息写入到分散账本的请求的功能部。写入请求部101,制作用于本装置即对等者100A、与P2P系统10中包括的其他的对等者的P2P连接的信息即对等信息。并且,写入请求部101,生成制作后的对等信息的写入请求数据,赋予签名后发送给代理服务器200,由此请求向分散账本写入。在后面详细说明对等信息的具体例。
获得请求部102是,进行从分散账本获得对等信息的请求的功能部。获得请求部102,针对代理服务器200,生成并发送用于获得分散账本中记录的对等信息的获得请求数据(也简称为获得请求)。另外,获得请求部102,经由代理服务器200获得由账本服务器300A等按照上述获得请求数据而发送的对等信息。并且,获得请求部102,进行用于检测如此获得的对等信息中的篡改的检测处理。利用赋予到写入的对等信息的签名,进行篡改的检测。
决定部103是,决定本装置进行P2P连接的对等者的功能部。也可以利用获得请求部102获得的对等信息进行对等者的决定。
通信部104是,与网络N连接的通信接口装置。通信部104,经由网络N,进行与代理服务器200、以及其他的对等者100B和100C的通信。
执行部105是,执行规定的程序,来发挥P2P系统10提供的规定的功能的一部分的功能部。
(1.3代理服务器200的结构)
图3是示出本实施方式的代理服务器200的功能结构的方框图。
如图3示出,代理服务器200具备请求代理部201、账本处理部202、以及通信部203。代理服务器200具备的各个功能部能够通过由代理服务器200具备的处理器(例如,CPU)使用存储器执行规定的程序来实现。
请求代理部201是作为对等者100A等的代理进行针对账本服务器300A等的分散账本的数据的写入或读出的功能部。具体而言,请求代理部201,在接收到来自对等者100A等的请求时,根据接收的请求控制账本处理部202。例如,请求代理部201,在接收到对等信息的写入请求数据的情况下,指示账本处理部202生成事务数据。并且,在接收到对等信息的获得请求数据的情况下,指示账本处理部202,参照分散账本来读出对等信息。
账本处理部202是,进行针对账本服务器300A等具有的分散账本的数据的写入或读出的功能部。账本处理部202,具体而言,在请求代理部201的控制下,生成包括从对等者100A接收的写入请求数据的事务数据,并发送给账本服务器300A等。并且,账本处理部202,在请求代理部201的控制下,根据从对等者100A接收的获得请求数据生成从分散账本中读出对等信息的读出请求数据,并发送给账本服务器300A等。在从账本服务器300A等接收到针对读出请求数据的响应时,将该响应发送给对等者100A。
另外,账本处理部202也可以,在将事务数据发送给账本服务器300A等时,承担共识算法的执行或挖矿等的处理的一部分。
通信部203是,与网络N连接的通信接口装置。通信部203,经由网络N,进行与对等者100A等、以及账本服务器300A等的通信。
(1.4账本服务器300A的结构)
图4是示出本实施方式的账本服务器300A的功能结构的方框图。另外,账本服务器300B以及300C也具有与账本服务器300A同样的结构。
如图4示出,账本服务器300A具备账本控制部301、通信部302、以及存储部303。账本服务器300A具备的各个功能部能够通过由账本服务器300A具备的处理器(例如,CPU)使用存储器执行规定的程序来实现。
账本控制部301是控制分散账本305的功能部。具体而言,账本控制部301,进行向存储部303中存放的分散账本305的事务数据的写入,或者,进行分散账本305中存放的事务数据的读出。
账本控制部301,具体而言,接收包括用于将构成P2P系统10的多个对等者中的第一对等者(例如对等者100A)与其他的对等者(例如对等者100B)连接的对等信息、以及由第一对等者赋予给上述对等信息的签名的事务数据。账本控制部301,利用接收的事务数据中包括的签名,进行接收的事务数据的验证。账本控制部301,在上述验证成功的情况下,将上述事务数据存放到分散账本305。事务数据是代理服务器200发送的数据。
另外,账本控制部301接收的事务数据也可以是,在第一对等者具有的对等信息被更新时,以包括更新后的对等信息的方式被生成的事务数据。
并且,账本控制部301,在接受到对等信息的读出请求数据(也简称为读出请求)的情况下,从分散账本305中存放的事务数据中读出对等信息,将读出的对等信息发送给上述读出请求数据的请求源。账本控制部301也可以,在发送读出的对等信息时,发送参照分散账本305而读出的对等信息中的、该对等信息中包括的参数包括在表示是适于连接的对等者的规定的范围内的一个以上的对等信息。并且,账本控制部301也可以,在发送读出的所述对等信息时,根据参照分散账本305而读出的对等信息,决定适于连接的对等者,发送决定的对等者的对等信息。
分散账本305的形式也可以是任何形式,例如是区块链,以该情况为例子进行说明,但是,也可以采用其他的方式的分散账本(例如,IOTA或哈希图等)。
另外,分散账本,在存放新的事务数据时既可以执行也可以不执行共识算法(例如,PBFT(Practical Byzantine Fault Tolerance)、PoW(ProofofWork)或PoS(ProofofStake))来共识事务数据的正当性。作为不执行共识算法的分散账本技术的一个例子有Hyperledger fabric。
通信部302是,与网络N连接的通信接口装置。通信部302,经由网络N,进行与代理服务器200、以及其他的账本服务器300B和300C的通信。
存储部303是存储分散账本305的存储装置。存储部303,通过账本控制部301写入事务数据,并且,通过账本控制部301读出事务数据。
图5是示出本实施方式的事务数据50的一个例子的说明图。
如图5示出,事务数据50包括对等信息51、以及签名52。
对等信息51是,关于P2P系统10中包括的一个对等者(例如对等者100A)、与其他的对等者(例如100B或100C)的P2P连接的信息。
对等信息51包括,例如,对等者的识别信息、对等者的IP(Internet Protocol)地址、用于对等者与其他的对等者的通信的端口号、对等者当前连接的对等者的识别信息、对等者的对P2P系统10的参与持续时间、与对等者当前连接的对等者的连接持续时间、对等者的公开密钥、以及对等者的最大允许连接数的至少一个。
签名52是,生成对等信息51的对等者赋予给对等信息51的电子签名。
在本实施方式中,事务数据50由代理服务器200生成。代理服务器200,生成包括从一个对等者接收的、该一个对等者的对等信息以及签名的事务数据50,并发送给账本服务器300A等,由此存放到账本服务器300A。关于所存放的事务数据50,基于分散账本305中记录的信息难以篡改的特性,以不被篡改的方式被管理。
以下说明如上构成的对等者100A等、代理服务器200、以及账本服务器300A等执行的处理。
图6是示出本实施方式的为了本装置的对等信息的写入而对等者100A执行的处理的流程图。例如在对等者100A参与P2P系统10时开始图6所示的处理。
在步骤S101中,写入请求部101获得本装置即对等者100A的对等信息。
在步骤S102中,写入请求部101,针对步骤S101中获得的对等信息,利用本装置的秘密密钥来生成并赋予签名。
在步骤S103中,写入请求部101,生成向步骤S101中获得的对等信息赋予了步骤S102中生成的签名的写入请求数据,并发送给代理服务器200。发送的写入请求数据中包括的对等信息以及签名,由代理服务器200包括在事务数据中,由账本服务器300A等以不被篡改的方式管理。
在步骤S104中,写入请求部101,判断从上次获得本装置的对等信息后到当前时刻为止,本装置的对等信息是否被更新。在判断为本装置的对等信息被更新的情况下(步骤S104的“是”),进入步骤S105,否则(步骤S104的“否”),进入步骤S104。也就是说,写入请求部101,在步骤S104中处于等待状态,直到对等信息被更新为止。另外,对等信息被更新时是,例如,对等者100A的IP地址、或用于对等者100A与其他的对等者的通信的端口号被更新时。
在步骤S105中,写入请求部101获得本装置即对等者100A的对等信息。
在步骤S106中,写入请求部101,针对步骤S105中获得的对等信息生成签名。
在步骤S107中,写入请求部101,生成向步骤S105中获得的对等信息赋予了步骤S106中生成的签名的写入请求数据,并发送给代理服务器200。发送的写入请求数据中包括的对等信息以及签名,与步骤S103的情况同样,由代理服务器200包括在事务数据中,由账本服务器300A等以不被篡改的方式管理。步骤S107的处理结束后,进入步骤S104。
通过图6所示的一连串的处理,对等者100A,在参与P2P系统10时将本装置的对等信息存放到账本服务器300A等,并且,每当本装置的对等信息被更新时,将更新后的本装置的对等信息存放到账本服务器300A等。
图7是示出本实施方式的对等者获得其他装置的对等信息来参与P2P系统时执行的处理的流程图。作为一个例子,说明在对等者100B参与P2P系统10时,获得其他装置即对等者100A的对等信息,与对等者100A连接来参与P2P系统10的处理的例子。
在步骤S121中,获得请求部102,生成获得请求数据,并发送给代理服务器200。在此,获得请求数据是,获得参与P2P系统10的对等者中的、对等者100B能够连接的一个以上的对等者的对等信息的请求。
在步骤S122中,获得请求部102获得其他装置的对等信息。获得的对等信息是,账本服务器300A经由代理服务器200接收步骤S121中发送的获得请求数据,接收到该获得请求数据的账本服务器300A从分散账本305中读出并发送的一个以上的对等者的对等信息。假设上述一个以上的对等者中包括对等者100A。
在步骤S123中,决定部103,根据步骤S122中获得请求部102获得的一个以上的对等者的对等信息,决定对等者100B连接的对等者(也称为连接目的地对等者)。在此,假设决定对等者100A,以作为连接目的地对等者。
例如,决定部103也可以,根据一个以上的对等者的对等信息,决定该一个以上的对等者中的、与本装置的物理距离比规定的距离近的对等者、或与本装置的物理距离为规定范围外的对等者,以作为连接目的地的对等者。并且,例如,决定部103也可以,根据一个以上的对等者的对等信息,决定该一个以上的对等者中的、连接的对等者的数量比规定的数量多的对等者、或连接的对等者的数量为规定范围内的对等者,以作为连接目的地的对等者。并且,例如,决定部103也可以,根据一个以上的对等者的对等信息,决定该一个以上的对等者中的、对P2P系统10的参与持续时间比规定的时间长的对等者、或对P2P系统10的参与持续时间为规定范围内的对等者,以作为连接目的地的对等者。
在步骤S124中,决定部103,通过执行与步骤S123中决定的连接目的地对等者连接的连接处理,从而与连接目的地对等者连接。
在步骤S125中,执行部105,通过执行规定的程序,从而发挥P2P系统10提供的规定的功能的一部分。
通过图7所示的一连串的处理,对等者100B能够与对等者100A连接,并且参与P2P系统10。
图8是示出本实施方式的为了对等信息的写入以及获得而代理服务器200执行的处理的流程图。
在步骤S201中,请求代理部201,判断是否从对等者100A接收到请求数据。在判断为从对等者100A接收到请求数据的情况下(步骤S201的“是”),进入步骤S202,否则(步骤S201的“否”),再次执行步骤S201。也就是说,请求代理部201,在步骤S201中处于等待状态,直到接收请求数据为止。
在步骤S202中,请求代理部201,判断步骤S201中接收的请求数据的类别是写入请求数据还是获得请求数据。在判断为请求数据的类别是写入请求数据的情况下(步骤S202的“写入”),进入步骤S203,在判断为请求数据的类别是获得请求数据的情况下(步骤S202的“获得”),进入步骤S211。
在步骤S203中,账本处理部202,生成包括步骤S201中接收的写入请求数据中包括的对等信息以及签名的事务数据。
在步骤S204中,账本处理部202,将步骤S203中生成的事务数据发送给账本服务器300A等。步骤S204的处理结束后,进入步骤S201。
在步骤S211中,账本处理部202,生成用于从分散账本中读出对等信息的读出请求数据。
在步骤S212中,账本处理部202,将步骤S211中生成的读出请求数据发送给账本服务器300A等。步骤S212的处理结束后,进入步骤S201。
通过图8所示的一连串的处理,代理服务器200,按照从对等者100A接收的写入请求数据或获得请求数据,代理对等者100A来分别执行对等信息的写入或对等信息的获得。
图9是示出本实施方式的为了对等信息的写入以及读出而账本服务器300A执行的处理的流程图。
在步骤S301中,账本控制部301,判断从代理服务器200接收到事务数据还是接收到读出请求数据。在判断为接收到事务数据的情况下(步骤S301的“事务数据”),进入步骤S302,在接收到读出请求数据的情况下(步骤S301的“读出请求数据”),进入步骤S311。另外,账本控制部301,在步骤S301中处于等待状态,直到接收事务数据或读出请求数据为止。
在步骤S302中,账本控制部301,验证步骤S301中接收的事务数据。
在步骤S303中,账本控制部301,判断步骤S302中的验证是否成功。在判断为验证成功的情况下(步骤S303的“是”),进入步骤S304,否则(步骤S303的“否”),进入步骤S301。
在步骤S304中,账本控制部301,将步骤S301中接收的事务数据,存放到存储部303中存放的分散账本。在向分散账本存放时,有时执行共识算法来进行事务数据的正当性的共识。步骤S304的处理结束后,进入步骤S301。
在步骤S311中,账本控制部301,参照存储部303中存放的分散账本,从分散账本中存放的事务数据中读出对等信息。
在步骤S312中,账本控制部301,将步骤S312中读出的对等信息发送给代理服务器200。在发送对等信息时,也可以仅发送参照分散账本而读出的对等信息中的、满足表示适于连接的对等者的规定的条件的对等信息。具体而言,账本控制部301也可以,仅提供表示读出的对等信息所示的一个以上的对等者中的、与请求源即对等者100A的物理距离比规定的距离近的对等者、或与对等者100A的物理距离为规定范围外的对等者的对等信息。并且,例如,账本控制部301也可以,仅提供表示上述一个以上的对等者中的、连接的对等者的数量比规定的数量多的对等者、或连接的对等者的数量为规定范围内的对等者的信息。并且,例如,账本控制部301也可以,仅提供表示上述一个以上的对等者中的、对P2P系统10的参与持续时间比规定的时间长的对等者、或对P2P系统10的参与持续时间为规定范围内的对等者的对等信息。
步骤S312的处理结束后,进入步骤S301。
通过图9所示的一连串的处理,账本服务器300A能够,将对等信息适当地存放到分散账本并管理,按照读出请求进行读出。
接着,说明系统1的工作。具体而言,说明对等信息的登记以及更新时系统执行的处理,以及与新的对等者连接时系统执行的处理。
(1.5对等信息的登记以及更新的序列)
图10是示出本实施方式的对等信息的登记以及更新时系统1执行的处理的序列图。具体而言,图10示出,对等信息的登记以及更新时系统1、即对等者100A、代理服务器200以及账本服务器300A等执行的处理。另外,对于与已经说明的流程图中的处理相同的处理,赋予与已经说明的流程图中的符号相同的符号,有时省略详细说明。
对等者100A,生成向本装置即对等者100A的对等信息赋予了签名的写入请求数据,并发送给代理服务器200(步骤S101至S103)。
代理服务器200,若从对等者100A接收到写入请求数据,则生成包括接收的写入请求数据中包括的对等信息以及签名的事务,并发送给账本服务器300A等(步骤S203,S204)。事务数据的发送目的地也可以是账本服务器300A等中的哪个账本服务器,在此,以向账本服务器300A发送的情况为例子进行说明。
账本服务器300A,接收上述事务数据,将接收的事务存放到分散账本305。账本服务器300A,在向分散账本305存放时,在与其他的账本服务器之间执行共识算法。据此,将包括赋予了签名的对等信息的区块存放到分散账本305。然后,分散账本305中存放的对等信息,实质上难以篡改,在能够安全地参照的状态下被管理。
对等者100A,判断本装置即对等者100A的对等信息是否被更新,在被更新的情况下,生成与上述同样的写入请求数据,并发送给代理服务器200(步骤S104至S107)。
代理服务器200,与上述同样,生成包括接收的写入请求数据中包括的对等信息以及签名的事务,并发送给账本服务器300A等(步骤S203,S204)。
账本服务器300A,与上述同样,将接收的事务存放到分散账本305。
然后,对等者100A,每当判断为对等信息被更新时,反复执行步骤S104以后的处理。
(1.6对等连接的序列)
图11是示出本实施方式的与新的对等者连接时系统1执行的处理的序列图。具体而言,图11示出,对等者100A以及对等者100B、代理服务器200以及账本服务器300A等执行的处理。
对等者100B,向代理服务器200发送对等信息的获得请求数据(步骤S121)。
代理服务器200,接收上述获得请求数据,向账本服务器300A等发送对等信息的读出请求数据。读出请求数据的目的地也可以是账本服务器300A等中的哪个账本服务器,在此,以向账本服务器300A发送的情况为例子进行说明。
账本服务器300A,接收上述读出请求数据,参照分散账本305中存放的事务数据,读出事务数据中包括的对等信息,将读出的对等信息发送给代理服务器200(步骤S312,S313)。代理服务器200,获得对等信息后,将获得的对等信息发送给对等者100B。
对等者100B,接收代理服务器200发送的对等信息,根据接收的对等信息所示的对等者,决定要连接的对等者。在此,以对等者100B将对等者100A决定为连接目的地的情况为例子进行说明。另外,对等者100B,与连接目的地即对等者100A执行P2P连接(步骤S122至S124)。
然后,对等者100B,执行规定的程序,与对等者100A一起发挥P2P系统10提供的功能(步骤S125)。
另外,在上述说明中,假设由对等者100B执行决定连接目的地的对等者的处理,但是,也可以由账本服务器300A进行该处理。在此情况下,账本服务器300A也可以,通过智能合约执行该处理。据此,具有的优点是以没有其他的人或装置的干预的方式安全地执行如下处理,即,账本服务器300A从分散账本305中读出对等信息,根据读出的上述对等信息决定连接目的地的对等者的处理。
并且,也可以由代理服务器200进行该处理。据此,对等者100B不需要执行该处理,因此,具有能够减轻对等者100B的处理负荷,减少电力消耗的优点。
(1.7实施方式1的效果)
在本实施方式中,对等者100A等能够根据分散账本305中保存的对等信息决定P2P连接目的地的对等者。分散账本305保存对等信息,因此,对等信息难以被篡改。因此,根据本实施方式的系统1,通过防止基于对等信息的非法操作的攻击,从而能够安全地管理并提供P2P连接所需要的对等信息。
(实施方式2)
在本实施方式中,关于适当地管理对等信息的系统,说明与实施方式1的系统1不同的形态。本实施方式的系统1A,与实施方式1的系统1同样具备P2P系统以及P2P管理系统,但是,不同之处是,不具备代理服务器。
也就是说,在本实施方式的系统1A中,P2P管理系统,直接(换句话说,不经由代理服务器)与P2P系统连接。
(2.1系统的整体结构)
图12是示出本实施方式的系统1A的整体的结构的示意图。
如图12示出,系统1A具备P2P系统10A、以及P2P管理系统30。P2P系统10A具备对等者100E、100F以及100G。另外,关于构成P2P系统10A的对等者的数量,并不限于3,也可以是1以上的任意数量。
对等者100E是,与实施方式1的对等者100A同样,构成P2P系统10A的P2P对等者的其中之一。对等者100E还具有,向P2P管理系统30拥有的分散账本登记对等信息,并且,从上述分散账本中读出对等信息的功能。也就是说,对等者100E具有,不经由代理服务器,而直接向分散账本写入对等信息,或者,从分散账本中直接读出对等信息的功能。
P2P管理系统30,与实施方式1的P2P管理系统30同样。
(2.2对等者100E的结构)
图13是示出本实施方式的对等者100E的功能的方框图。另外,对等者100F以及100G也具有,与对等者100E同样的结构。
如图13示出,对等者100E具备写入请求部101A、获得请求部102A、决定部103、通信部104、以及执行部105。对等者100E具备的各个功能部能够通过由对等者100E具备的处理器(例如,CPU)使用存储器执行规定的程序来实现。
写入请求部101A是,进行将本装置即对等者100E的对等信息写入到分散账本305的请求的功能部。写入请求部101A,制作用于本装置即对等者100E、与P2P系统10A中包括的其他的对等者的P2P连接的信息即对等信息。写入请求部101A,向制作的对等信息赋予签名来生成事务数据,并发送给账本服务器300A等。将发送的事务数据存放到账本服务器300A等的分散账本305。
获得请求部102A是,进行从分散账本305获得对等信息的请求的功能部。获得请求部102A,针对账本服务器300A,生成用于分散账本305中记录的对等信息的获得的获得请求数据,并发送。另外,获得请求部102A,获得账本服务器300A按照上述获得请求数据而发送的对等信息。
决定部103、通信部104、以及执行部105,与实施方式1中的各个部相同。
(2.3实施方式2的效果)
根据该结构,对等者100E等能够,不经由代理服务器,而直接向分散账本写入对等信息,或者,从分散账本中直接读出对等信息。在对等者100E等与账本服务器之间不需要存在其他的装置,因此,账本服务器具有能够由排除了单点故障的结构(换而言之,没有单点故障的结构)来管理P2P系统的效果。因此,服务器能够,由具有比较高的可用性的结构,适当地管理对等信息。
(实施方式3)
在本实施方式中,关于适当地管理对等信息的系统,说明与实施方式1或2的系统1或1A不同的形态。本实施方式的系统1B具备,实施方式2的系统1A的P2P系统以及P2P管理系统。另外,上述P2P系统还具有,作为管理作为其他的P2P系统的P2P管理系统中使用的对等信息的P2P管理系统的功能。
(3.1系统的整体结构)
图14是示出本实施方式的系统1B的整体的结构的示意图。
如图14示出,系统1B具备系统40A以及40B。系统40A是,P2P系统A,并且是管理P2P系统D(即,系统40B)中使用的对等信息的P2P管理系统B。系统40B是,P2P系统D,并且是管理P2P系统A(即,系统40A)中使用的对等信息的P2P管理系统C。
也就是说,系统40A以及系统40B分别是,P2P系统,并且是管理彼此的P2P管理信息的P2P管理系统。
系统40A具备对等者400A、400B以及400C。另外,关于构成系统40A的对等者的数量,并不限于3,也可以是1以上的任意数量。系统40B具备对等者400E、400F以及400G。另外,关于构成系统40B的对等者的数量,并不限于3,也可以是1以上的任意数量。
对等者400A是,与实施方式2的对等者100E同样,构成作为P2P系统的系统40A的P2P对等者的其中之一。对等者400A还具有,向系统40B拥有的分散账本登记对等信息,并且,从上述分散账本中读出对等信息的功能。
对等者400B以及400C,分别是具有与对等者400A相同的功能的对等者,与对等者400A独立地动作。
对等者400E是,与实施方式2的对等者100E同样,构成作为P2P系统的系统40B的P2P对等者的其中之一。对等者400E还具有,向系统40A拥有的分散账本登记对等信息,并且,从上述分散账本中读出对等信息的功能。
对等者400F以及400G,分别是具有与对等者400E相同的功能的对等者,与对等者400E独立地动作。
(3.2对等者400A的结构)
图15是示出本实施方式的对等者400A的功能的方框图。另外,对等者400B和400C、以及对等者400E、400F和400G也具有与对等者400A同样的结构。
如图15示出,对等者400A具备写入请求部101A、获得请求部102A、决定部103、通信部104、执行部105、账本控制部107、以及存储部108。对等者400A具备的各个功能部能够通过由对等者400A具备的处理器(例如,CPU)使用存储器执行规定的程序来实现。
写入请求部101A、获得请求部102A、决定部103、通信部104、以及执行部105,与实施方式2的对等者100E中的各个部相同。
并且,账本控制部107以及存储部108分别与实施方式1的账本服务器300A具备的账本控制部301以及存储部303相同。存储部108存储与实施方式1的分散账本305同样的分散账本109。
对等者400A,具有上述的功能部,由此作为构成P2P系统A的对等者的的其中之一发挥功能,并且,作为构成P2P管理系统B的对等者的其中之一发挥功能。对等者400B以及400C也是同样的。
进一步,对等者400E、400F以及400G,具有与对等者400A同样的结构,由此作为构成P2P系统D的对等者的其中之一发挥功能,并且,作为构成P2P管理系统C的对等者的其中之一发挥功能。
据此,系统40A以及系统40B的每一个,作为P2P系统发挥功能,并且,作为管理彼此的P2P管理信息的P2P管理系统发挥功能。
(3.3实施方式3的效果)
根据该结构,由具备对等者400A等的系统40A、以及具备对等者400E等的系统40B,能够彼此适当地管理对等信息,扶助对等信息的可靠性,并且,作为单独的P2P系统发挥功能。
(补充)
对上述各个实施方式的区块链进行补充说明。
图16是示出区块链的数据结构的说明图。
区块链通过作为其记录单位的区块被以链(chain)状连接而成。各个区块具有,多个事务数据、以及紧前的区块的哈希值。具体而言,区块B2中包括其之前的区块B1的哈希值。另外,根据区块B2中包括多个事务数据以及区块B1的哈希值被运算出的哈希值,作为区块B2的哈希值被包括在区块B3中。如此,将之前的区块的内容作为哈希值来包括,并且,将区块以链状连接,从而有效地防止被记录的事务数据的篡改。
假设过去的事务数据被变更,则区块的哈希值成为与变更前不同的值,要想使篡改后的区块伪装成正确的区块,必须重新制作其后的全部区块,该作业在现实中非常困难。利用该性质,在区块链中确保了篡改困难性。
图17是示出事务数据的数据结构的说明图。
图17所示的事务数据包括事务主体P1以及电子签名P2。事务主体P1是该事务数据中包含的数据主体。电子签名P2是通过针对事务主体P1的哈希值,由该事务数据的制作者的签名密钥进行签名,更具体而言由制作者的秘密密钥进行加密而生成的签名。
事务数据具有电子签名P2,因此篡改在实质上是不可能的。据此,能够防止事务主体的篡改。
(其他的变形例)
另外,基于上述各个实施方式对本发明进行了说明,但本发明当然并不限定于上述各个实施方式。以下这样的情况也包含在本发明中。
(1)在上述实施方式1的说明中,对等者100A等和代理服务器200分别是不同的装置,但是,对等者100A等和代理服务器200也可以是相同的装置。如上述相同的装置的结构的一个例子是,实施方式2的结构。
(2)在上述实施方式1中表示,对等者100A等和账本服务器300A等分开,但是,对等者100A本身可以是账本服务器300A。并且,可以利用与账本服务器300A所利用的分散账本不同的分散账本。并且,系统可以相互保存彼此的对等信息。系统可以相互保存彼此的对等信息的结构的一个例子是,实施方式3的结构。
(3)在上述实施方式1中表示,代理服务器200是,单个代理服务器200,但是,可以由多台装置构成。
(4)在上述实施方式1中,账本服务器的对等信息读取处理是,从存储装置的单纯的读取处理,但是,可以利用智能合约等执行任意的读取处理。例如,对等者100A具备的决定部103可以由账本服务器300A具备,对于此时的P2P对等者的连接目的地对等者的决定,可以直接利用获得的对等信息。在此情况下,决定部103也由分散账本保存,因此,具有能够实现更安全的P2P对等信息参照的优点。
(5)对等连接时的其他的对等信息的获得范围,可以是参与P2P系统的所有的对等信息,也可以是任意的范围。对于任意的范围的获得,可以设定按照与P2P系统连接的时间从长到短的顺序获得这一条件。并且,在重新连接时等,在已知的对等信息的最新状态的获得的情况下,可以指定想要获得对等信息的对等者。
(6)有关所述实施方式的各装置具体而言是由微处理器、ROM、RAM、SSD、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。在所述RAM或硬盘单元中记录有计算机程序。通过由所述微处理器按照所述计算机程序动作,各装置达成其功能。这里,计算机程序是为了达成规定的功能而将多个表示对于计算机的指令的命令代码组合而构成的。
(7)构成上述实施方式的各装置的构成要素的一部分或全部也可以由一个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个构成部集成到一个芯片上而制造出的超多功能LSI,具体而言,是包括微处理器、ROM、RAM等而构成的计算机系统。在所述RAM中记录有计算机程序。通过由所述微处理器按照所述计算机程序动作,系统LSI达成其功能。
此外,构成上述各装置的构成要素的各部既可以单独地被单芯片化,也可以以包含一部分或者全部的方式被单芯片化。
此外,这里设为系统LSI,但根据集成度的差异,有时也称为IC、LSI、超级LSI、特级LSI。另外,集成电路化的方法不限于LSI,也可以由专用电路或者通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field Programmable GateArray:现场可编程逻辑门阵列)或能够重构LSI内部的电路单元的连接或设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现替代LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。
(8)构成上述各装置的构成要素的一部分或全部也可以由相对于各装置可拆装的IC卡或单体的模块构成。所述IC卡或所述模块是由微处理器、ROM、RAM等构成的计算机系统。所述IC卡或所述模块也可以包括上述的超多功能LSI。通过由微处理器按照计算机程序动作,所述IC卡或所述模块达成其功能。该IC卡或该模块也可以具有防篡改性。
(9)本发明也可以是上述所示的方法。此外,也可以是通过计算机实现这些方法的计算机程序,也可以是由所述计算机程序构成的数字信号。
此外,本发明也可以将所述计算机程序或所述数字信号记录到能够由计算机读取的记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)Disc)、半导体存储器等中。此外,也可以是记录在这些记录介质中的所述数字信号。
此外,本发明也可以将所述计算机程序或所述数字信号经由电气通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等传送。
此外,本发明也可以是具备微处理器和存储器的计算机系统,所述存储器记录有上述计算机程序,所述微处理器按照所述计算机程序动作。
此外,也可以通过将所述程序或所述数字信号记录到所述记录介质中并移送,或通过将所述程序或所述数字信号经由所述网络等移送,来由独立的其他的计算机系统实施。
(10)也可以将上述实施方式及上述变形例分别组合。
(11)在连接目的地对等者不能通信的情况下,可以向分散账本写入不能通信这意思。此时,可以仅在判断为规定的数量以上的对等者不能通信的情况下,向分散账本写入。
而且,在所述各个实施方式中,各个构成要素也可以,由专用的硬件构成,或者执行适于各个构成要素的软件程序来实现。各个构成要素也可以,CPU或处理器等的程序执行部,读出并执行由硬盘或半导体存储器等的记录介质记录的软件程序来实现。在此,实现所述各个实施方式的服务器等的软件是,如下程序。
也就是说,该程序,使计算机进行如下控制处理,即,在具备拥有分散账本的多个服务器的P2P管理系统中,由该多个服务器之中的一个服务器执行的控制方法,在所述控制方法中,接收事务数据,该事务数据包括用于将构成P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,利用接收的所述事务数据中包括的所述签名,进行接收的所述事务数据的验证,在所述验证成功的情况下,将所述事务数据存放到所述分散账本。
并且,该程序,使计算机进行如下控制处理,即,介于具备拥有分散账本的多个服务器的P2P管理系统与P2P系统之间的代理服务器的控制方法,在所述控制方法中,接收用于将构成所述P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,生成包括接收的所述对等信息以及所述签名的事务数据,并发送给构成所述P2P管理系统的多个服务器。
以上,一个或多个形态所涉及的控制方法等,根据实施方式进行了说明,但是,本发明,并不限于该实施方式。只要不脱离本发明的宗旨,对本实施方式执行本领域技术人员想到的各种变形的形态,或组合不同的实施方式的构成要素来构成的形态,也可以包含在一个或多个形态的范围内。
本发明所涉及的管理并共享P2P系统的对等信息(P2P连接信息)的系统,具有安全地管理并共享P2P系统的对等信息的机构,有用于各种P2P系统的对等者管理系统。
符号说明
1,1A,1B,40A,40B系统
10,10AP2P系统
30P2P管理系统
50事务数据
51对等信息
52签名
100A,100B,100C,100E,100F,100G,400A,400B,400C,400E,400F,400G对等者
101,101A写入请求部
102,102A获得请求部
103决定部
104,203,302通信部
105执行部
108,303存储部
109,305分散账本
200代理服务器
201请求代理部
202账本处理部
300A,300B,300C账本服务器
301,107账本控制部
B1,B2,B3区块
N网络
P1事务主体
P2电子签名
Claims (12)
1.一种控制方法,是在具备拥有分散账本的多个服务器的P2P管理系统中,由该多个服务器之中的一个服务器执行的控制方法,在所述控制方法中,
接收事务数据,该事务数据包括用于将构成P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,
利用接收的所述事务数据中包括的所述签名,进行接收的所述事务数据的验证,
在所述验证成功的情况下,将所述事务数据存放到所述分散账本。
2.如权利要求1所述的控制方法,
接收的所述事务数据是,在所述第一对等者具有的所述对等信息被更新时,以包括更新后的所述对等信息的方式被生成的事务数据。
3.如权利要求1或2所述的控制方法,
进一步,在接受到所述对等信息的读出请求的情况下,从所述分散账本中存放的所述事务数据中读出所述对等信息,将读出的所述对等信息发送给所述读出请求的请求源。
4.如权利要求3所述的控制方法,
在发送读出的所述对等信息时,
发送参照所述分散账本而读出的对等信息中的一个以上的对等信息,该一个以上的对等信息中包括的参数处于规定的范围内,由此表示具有该对等信息的对等者是适于连接的对等者。
5.如权利要求3或4所述的控制方法,
在发送读出的所述对等信息时,
根据参照所述分散账本而读出的对等信息,决定适于连接的对等者,发送决定的所述对等者的对等信息。
6.如权利要求1至5的任一项所述的控制方法,
在将所述事务数据存放到所述分散账本时,
由所述多个服务器共享所述事务数据,在执行规定的共识算法来共识了所述事务数据的正当性的情况下,将所述事务数据存放到所述分散账本。
7.如权利要求1至6的任一项所述的控制方法,
所述对等信息包括,所述第一对等者的识别信息、所述第一对等者的IP地址、用于所述第一对等者与所述其他的对等者的通信的端口号、所述第一对等者当前连接的对等者的识别信息、所述第一对等者的对所述P2P系统的参与持续时间、与所述第一对等者当前连接的对等者的连接持续时间、所述第一对等者的公开密钥、以及所述第一对等者的最大允许连接数中的至少一个。
8.如权利要求1至7的任一项所述的控制方法,
所述P2P管理系统,经由代理服务器与所述P2P系统连接,
所述第一对等者将所述对等信息以及所述签名发送给所述代理服务器,
所述代理服务器,生成代理事务数据并发送给所述一个服务器,所述代理事务数据是包括所述第一对等者发送的所述对等信息以及所述签名的事务数据,
在接收所述事务数据时,
将所述代理服务器发送的所述代理事务数据,作为所述事务数据来接收。
9.如权利要求1至7的任一项所述的控制方法,
所述P2P管理系统与所述P2P系统连接。
10.一种控制方法,是介于具备拥有分散账本的多个服务器的P2P管理系统与P2P系统之间的代理服务器的控制方法,在所述控制方法中,
接收用于将构成所述P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,
生成包括接收的所述对等信息以及所述签名的事务数据,并发送给构成所述P2P管理系统的多个服务器。
11.一种服务器,是具备拥有分散账本的多个服务器的P2P管理系统中的该多个服务器中的一个服务器,
所述服务器具备账本控制部、以及存储所述分散账本的存储部,
所述账本控制部,
接收事务数据,该事务数据包括用于将构成P2P系统的多个对等者中的第一对等者与其他的对等者连接的对等信息、以及由所述第一对等者赋予给所述对等信息的签名,
利用接收的所述事务数据中包括的所述签名,进行接收的所述事务数据的验证,
在所述验证成功的情况下,将所述事务数据存放到所述分散账本。
12.一种程序,用于使计算机执行权利要求1至10的任一项所述的控制方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962893432P | 2019-08-29 | 2019-08-29 | |
US62/893,432 | 2019-08-29 | ||
PCT/JP2020/030941 WO2021039453A1 (ja) | 2019-08-29 | 2020-08-17 | 制御方法、サーバ、および、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114222992A true CN114222992A (zh) | 2022-03-22 |
Family
ID=74684135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080057252.1A Pending CN114222992A (zh) | 2019-08-29 | 2020-08-17 | 控制方法、服务器、以及程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220159065A1 (zh) |
JP (1) | JPWO2021039453A1 (zh) |
CN (1) | CN114222992A (zh) |
WO (1) | WO2021039453A1 (zh) |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220384027A1 (en) * | 2012-10-09 | 2022-12-01 | Kc Holdings I | Tracking and rewarding health and fitness activities using blockchain technology |
GB201703562D0 (en) * | 2017-03-06 | 2017-04-19 | Nchain Holdings Ltd | Computer-implemented system and method |
MX2019010625A (es) * | 2017-03-09 | 2019-12-19 | Skraastad Gulbrandsen Magnus | Proveedor de acceso a la red principal. |
US11429960B2 (en) * | 2017-05-24 | 2022-08-30 | Nxm Labs, Inc. | Network configuration management for networked client devices using a distributed ledger service |
US20220405750A1 (en) * | 2017-05-24 | 2022-12-22 | Nxm Labs, Inc. | Network configuration management for networked client devices using a distributed ledger service |
JP2020522796A (ja) * | 2017-06-01 | 2020-07-30 | シュヴェイ, インク. ディー/ビー/エー アクソーニSCHVEY, INC. d/b/a AXONI | 安全なアクセス制限を管理する分散型のプライベートにサブスペース化されたブロックチェーン・データ構造 |
EP3688922A4 (en) * | 2017-09-27 | 2020-09-09 | Visa International Service Association | SECURE SHARED KEY ESTABLISHMENT FOR PAIR-TO-PAIR COMMUNICATIONS |
US20190279172A1 (en) * | 2018-03-06 | 2019-09-12 | Dash Core Group, Inc. | Methods and Systems for Object Validated Blockchain Accounts |
US20210014073A1 (en) * | 2018-03-22 | 2021-01-14 | Communication Security Group Inc. | Decentranlised communication system and method |
US11019059B2 (en) * | 2018-04-26 | 2021-05-25 | Radware, Ltd | Blockchain-based admission processes for protected entities |
US11695735B2 (en) * | 2018-05-10 | 2023-07-04 | Nxm Labs, Inc. | Security management for net worked client devices using a distributed ledger service |
US11481761B2 (en) * | 2018-06-03 | 2022-10-25 | VVOW Company Limited | Peer-to-peer cryptocurrency and crypto asset trading platform |
EP3803740A4 (en) * | 2018-06-08 | 2022-03-02 | Communication Security Group, Inc. | BLOCKCHAIN PROTECTION |
US10951615B1 (en) * | 2018-10-16 | 2021-03-16 | Sprint Communications Company L.P. | Wireless network access for data appliances |
US10986500B1 (en) * | 2018-11-06 | 2021-04-20 | Sprint Communications Company L.P. | Hardware-trusted ledger client for distributed ledgers that serve wireless network slices |
CN111027971B (zh) * | 2018-12-07 | 2023-08-22 | 深圳市智税链科技有限公司 | 在区块链网络中确定记账节点的方法、代理节点和介质 |
GB201820853D0 (en) * | 2018-12-20 | 2019-02-06 | Palantir Technologies Inc | Detection of vulnerabilities in a computer network |
US20220141002A1 (en) * | 2019-02-06 | 2022-05-05 | Connectfree Corporation | Data transmission method, communication processing method, device, and communication processing program |
WO2019137563A2 (en) * | 2019-04-26 | 2019-07-18 | Alibaba Group Holding Limited | Anti-replay attack authentication protocol |
US11151621B2 (en) * | 2019-06-25 | 2021-10-19 | Verizon Patent And Licensing Inc. | System and method for carrier settlement using blockchain |
US20210185386A1 (en) * | 2019-12-17 | 2021-06-17 | Tencent Technology (Shenzhen) Company Limited | Video playing method and apparatus, electronic device, and storage medium |
US11151229B1 (en) * | 2020-04-10 | 2021-10-19 | Avila Technology, LLC | Secure messaging service with digital rights management using blockchain technology |
WO2022072921A1 (en) * | 2020-10-04 | 2022-04-07 | Strong Force Iot Portfolio 2016, Llc | Industrial digital twin systems and methods with echelons of executive, advisory and operations messaging and visualization |
US11652604B2 (en) * | 2020-11-12 | 2023-05-16 | Paypal, Inc. | Blockchain data compression and storage |
US11568393B2 (en) * | 2020-12-23 | 2023-01-31 | Paypal, Inc. | Methods and systems for transferring unspent transaction output (UTXO) tokens in a blockchain network |
US11652605B2 (en) * | 2021-02-23 | 2023-05-16 | Paypal, Inc. | Advanced non-fungible token blockchain architecture |
US20220414664A1 (en) * | 2021-06-29 | 2022-12-29 | Paypal, Inc. | Blockchain address risk assessment via graph analysis |
US11888991B2 (en) * | 2021-08-25 | 2024-01-30 | Paypal, Inc. | Universally trusted bridges for heterogenous blockchain networks |
-
2020
- 2020-08-17 WO PCT/JP2020/030941 patent/WO2021039453A1/ja active Application Filing
- 2020-08-17 JP JP2021542753A patent/JPWO2021039453A1/ja active Pending
- 2020-08-17 CN CN202080057252.1A patent/CN114222992A/zh active Pending
-
2022
- 2022-02-01 US US17/590,220 patent/US20220159065A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JPWO2021039453A1 (zh) | 2021-03-04 |
WO2021039453A1 (ja) | 2021-03-04 |
US20220159065A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3438903B1 (en) | Hierarchical network system, and node and program used in same | |
US9967334B2 (en) | Computing device configuration and management using a secure decentralized transaction ledger | |
Ali et al. | Blockstack: A global naming and storage system secured by blockchains | |
CN110597925B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN111512591A (zh) | 可跟踪密钥区块链账本 | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
WO2018187359A1 (en) | Data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger | |
CN113438289A (zh) | 基于云计算的区块链数据处理方法及装置 | |
US20200233858A1 (en) | Peer partitioning | |
EP4195624A1 (en) | Data synchronization method and system based on blockchain, and related device | |
Ali et al. | Blockstack: A new decentralized internet | |
KR102041720B1 (ko) | 플렉서블 블록체인 프레임워크 구현 시스템 및 p2p 네트워크 설계 방법, 상기 방법을 수행하기 위한 기록 매체 | |
Ali et al. | Bootstrapping trust in distributed systems with blockchains | |
KR20210151926A (ko) | 블록체인을 사용한 버전 이력 관리 | |
US20190268153A1 (en) | Event execution using a blockchain approach | |
EP3817333B1 (en) | Method and system for processing requests in a consortium blockchain | |
Ali | Trust-to-trust design of a new Internet | |
US20200379982A1 (en) | Information processing system and method of controlling information processing system | |
WO2019142884A1 (ja) | ブロック検証装置、ブロック検証方法、及びプログラム | |
WO2023000967A1 (zh) | 一种设备管理方法、系统以及装置 | |
CN115730277A (zh) | 使用非同质化代币nft的补充数字内容访问控制 | |
US11418342B2 (en) | System and methods for data exchange using a distributed ledger | |
US20230342437A1 (en) | Blockchain-based system and method for publishing an operating system | |
US11625385B2 (en) | Method and apparatus for managing data based on blockchain | |
Ali et al. | Blockstack technical whitepaper |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |