CN109120669A - 基于p2p互联网络构建区块链的方法、介质和系统 - Google Patents
基于p2p互联网络构建区块链的方法、介质和系统 Download PDFInfo
- Publication number
- CN109120669A CN109120669A CN201810712753.3A CN201810712753A CN109120669A CN 109120669 A CN109120669 A CN 109120669A CN 201810712753 A CN201810712753 A CN 201810712753A CN 109120669 A CN109120669 A CN 109120669A
- Authority
- CN
- China
- Prior art keywords
- block
- node
- information
- internet
- good friend
- 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.)
- Granted
Links
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/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于P2P互联网络构建区块链的方法,包括通过本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将创世区块的建立信息发送给每个好友对应的节点;当好友对应的节点响应邀请请求时,该好友对应的节点根据种子信息下载创世区块的信息,并将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点下载创世区块的信息,以使创世区块的信息在P2P互联网络中的进行同步;相应地,本发明还公开了一种介质、基于P2P互联网络构建区块链的系统以及区块链系统,能够实现对区块链网络的快速构建,同时,可减轻构建过程中各节点的数据传输负担,提高现有节点资源的利用率。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种基于P2P互联网络构建区块链的方法、介质和系统。
背景技术
区块链是通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,在区块链的构建过程中,现有技术在创世区块建立之后,多采用通过新增节点向区块链网络发出同步请求,并在接收到该同步请求之后,下载整个区块链文件,以完成新增节点与区块链网络的信息同步。
通过这种方式构建区块链网络,其部署的速度缓慢;并且,节点的传输压力较大。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于P2P互联网络构建区块链的方法,能够实现区块链网络的快速构建,并且,减轻构建过程中节点的负担。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种基于P2P互联网络构建区块链的系统。
本发明的第四个目的在于提出一种区块链系统。
为达到上述目的,本发明第一方面实施例提出了一种基于P2P互联网络构建区块链的方法,包括以下步骤:通过本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将所述创世区块的建立信息发送给每个好友对应的节点,其中,所述创世区块的建立信息包括邀请请求和种子信息;当任意一个好友对应的节点响应所述邀请请求时,该好友对应的节点根据所述种子信息查询所述P2P下载服务器以下载所述创世区块的信息,并通过P2P互联网络将所述种子信息和所述邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据所述种子信息和所述邀请请求下载所述创世区块的信息,以使所述创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
根据本发明实施例的基于P2P互联网络构建区块链的方法,首先,通过本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将创世区块的建立信息发送给每个好友对应的节点,其中,创世区块的建立信息包括邀请请求和种子信息;然后,当任意一个好友对应的节点响应邀请请求时,该好友对应的节点根据种子信息查询P2P下载服务器以下载创世区块的信息,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步;从而实现对区块链网络的快速构建,同时,可减轻构建过程中各节点的数据传输负担,提高现有节点资源的利用率。
另外,根据本发明上述实施例提出的基于P2P互联网络构建区块链的方法还可以具有如下附加的技术特征:
可选地,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点将该操作存为操作文件,并将所述操作文件上传到所述P2P下载服务器,以及根据所述操作文件生成操作种子以在好友间传播,以使P2P互联网络中的其他好友节点根据所述操作种子从所述P2P下载服务器下载所述操作文件,并根据所述操作文件做种以进行全网同步。
可选地,当P2P互联网络中的任意一个好友节点满足预设的创建区块的条件时,该好友节点建立节点区块,并将节点区块的信息上传至所述P2P下载服务器,其中,该好友节点还在节点区块的预设位置添加前一区块种子域以加入前一创建区块的种子信息,并向自己的其他好友所对应的节点广播该种子信息,以便其他好友所对应的节点根据该种子信息从所述P2P下载服务器下载节点区块的信息,并根据节点区块的信息做种以进行全网同步。
可选地,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,如果P2P互联网络中新建立一个节点区块,该陌生节点通过好友关系获得新建的节点区块后,还通过扫描新建的节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有基于P2P互联网络构建区块链的程序,该基于P2P互联网络构建区块链的程序被处理器执行时实现上述的基于P2P互联网络构建区块链的方法。
为达到上述目的,本发明第三方面实施例提出了一种基于P2P互联网络构建区块链的系统,包括P2P下载服务器、本地节点和多个好友节点,其中,所述本地节点,用于建立创世区块,并将创世区块的信息上传到所述P2P下载服务器,以及通过P2P互联网络将所述创世区块的建立信息发送给每个好友节点,其中,所述创世区块的建立信息包括邀请请求和种子信息;每个好友节点,用于响应所述邀请请求,其中,当任意一个好友节点响应所述邀请请求时,该好友节点根据所述种子信息查询所述P2P下载服务器以下载所述创世区块的信息,并通过P2P互联网络将所述种子信息和所述邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据所述种子信息和所述邀请请求下载所述创世区块的信息,以使所述创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
根据本发明实施例的基于P2P互联网络构建区块链的系统,首先,本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将创世区块的建立信息发送给每个好友节点,其中,创世区块的建立信息包括邀请请求和种子信息;然后,通过多个好友节点对邀请请求进行响应,其中,当任意一个好友节点响应邀请请求时,该好友节点根据种子信息查询P2P下载服务器以下载创世区块的信息,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步;从而实现对区块链网络的快速构建,同时,可减轻构建过程中各节点的数据传输负担,提高现有节点资源的利用率。
另外,根据本发明上述实施例提出的基于P2P互联网络构建区块链的系统还可以具有如下附加的技术特征:
可选地,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点将该操作存为操作文件,并将所述操作文件上传到所述P2P下载服务器,以及根据所述操作文件生成操作种子以在好友间传播,以使P2P互联网络中的其他好友节点根据所述操作种子从所述P2P下载服务器下载所述操作文件,并根据所述操作文件做种以进行全网同步。
可选地,当P2P互联网络中的任意一个好友节点满足预设的创建区块的条件时,该好友节点建立节点区块,并将节点区块的信息上传至所述P2P下载服务器,其中,该好友节点还在节点区块的预设位置添加前一区块种子域以加入前一创建区块的种子信息,并向自己的其他好友所对应的节点广播该种子信息,以便其他好友所对应的节点根据该种子信息从所述P2P下载服务器下载节点区块的信息,并根据节点区块的信息做种以进行全网同步。
可选地,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,如果P2P互联网络中新建立一个节点区块,该陌生节点通过好友关系获得新建的节点区块后,还通过扫描新建的节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块。
为达到上述目的,本发明第四方面实施例提出了一种区块链系统,包括上述的基于p2p互联网络构建区块链的系统。
附图说明
图1为根据本发明实施例的基于P2P互联网络构建区块链的方法的流程示意图;
图2为根据本发明另一实施例的基于P2P互联网络构建区块链的方法的流程示意图;
图3为根据本发明实施例的基于P2P互联网络构建区块链的系统的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
现有的区块链构建技术中,多采用通过新增节点向区块链网络发出同步请求,并在接收到该同步请求之后,下载整个区块链文件,以完成新增节点与区块链网络的信息同步,通过这种方式构建区块链网络,其部署的速度缓慢,并且,节点的传输压力较大;本发明实施例提供的基于P2P互联网络构建区块链的方法,通过本地节点建立创世区块,并将创世区块的信息上传P2P下载服务器,以及通过P2P互联网络将建立信息发送给每个好友;然后通过每个好友的响应和转发达成创世区块在P2P互联网络中的同步,从而实现对区块链网络的快速构建,同时,可减轻构建过程中各节点的数据传输负担,提高现有节点资源的利用率。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为本发明实施例提供的一种基于P2P互联网络构建区块链的方法的流程示意图,如图1所示,该基于P2P互联网络构建区块链的方法包括以下步骤:
S101,通过本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将创世区块的建立信息发送给每个好友对应的节点。
也就是说,在通过本地节点建立创世区块之后,将创世区块的信息上传到P2P下载服务器,并通过P2P互联网络将创世区块的建立信息发送给该本地节点的每个好友对应的节点;其中,创世区块指的是区块链中第一个被创建的区块,创世区块的建立信息包括邀请请求和种子信息;需要说明的是,邀请请求可以包括邀请好友对应的节点对创世区块进行下载的请求以及邀请好友对创世区块的下载任务进行加速的请求;种子信息包括但不限于P2P下载服务器的服务器信息(例如,P2P下载服务器的地址、P2P下载服务器的参数设置等)以及创世区块的下载文件信息(例如,创世区块的虚拟分块信息以及每个虚拟分块信息对应的索引信息等),如此,本地节点将邀请信息以及种子信息发送给好友对应的节点之后,后续好友对应的节点可根据邀请信息以及种子信息查询P2P下载服务器对创世区块进行下载。
其中,创世区块的设置方式可以有多种,例如,在每个区块链中的区块末尾预设“前一区块哈希”域,以填入前一区块的区块头的哈希值,进而将本区块与前一区块进行关联,并且,在区块头部预设“本区块哈希”域,以填入本区块的哈希值,以便下一区块根据该哈希值进行关联;需要说明的是,创世区块为第一个区块,因此在“前一区块哈希”域填入空值。
作为一种示例,在每个区块链中的区块末尾预设“前一区块种子”域,以填入前一区块的种子信息,进而将本区块与前一区块进行关联;并且,在区块头部预设“本区块种子”域,以填入本区块的种子信息,以便于下一区块根据该种子信息进行关联;需要说明的是,创世区块为区块链中的第一个区块,因此在“前一区块种子”域填入空值。
S102,当任意一个好友对应的节点响应邀请请求时,该好友对应的节点根据种子信息查询P2P下载服务器以下载创世区块的信息,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
也就是说,在本地节点将创世节点的建立信息通过P2P互联网络发送给每个好友对应的节点之后,当任意一个好友对应的节点响应邀请请求时,该好友对应的节点根据种子信息中包含的P2P下载服务器的服务器信息以及创世区块的下载文件信息查询P2P下载服务器以下载创世区块的信息,同时,响应邀请请求的任意一个好友对应的节点通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使得创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
根据本发明实施例的基于P2P互联网络构建区块链的方法,首先,通过本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将创世区块的建立信息发送给每个好友对应的节点,其中,创世区块的建立信息包括邀请请求和种子信息;然后,当任意一个好友对应的节点响应邀请请求时,该好友对应的节点根据种子信息查询P2P下载服务器以下载创世区块的信息,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步;从而实现对区块链网络的快速构建,同时,可减轻构建过程中各节点的数据传输负担,提高现有节点资源的利用率。
如图2所示,本发明另一实施例的基于P2P互联网络构建区块链的方法包括以下步骤:
S201,通过本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将所述创世区块的建立信息发送给每个好友对应的节点,其中,创世区块的建立信息包括邀请请求和种子信息。
S202,当任意一个好友对应的节点响应邀请请求时,该好友对应的节点根据种子信息查询P2P下载服务器以下载创世区块的信息,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
S203,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点将该操作存为操作文件,并将操作文件上传到P2P下载服务器。
也就是说,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点将该操作存储为相应的操作文件,以文件的形式对该操作进行记录并存储,并将操作文件上传到P2P下载服务器。
其中,操作的方式可以有多种,例如,投票、资产转移、虚拟货币交易等。
需要说明的是,将操作存为操作文件指的是将操作按照既定的格式存储为相应的文件,以便于对操作进行统一的记录,以及区块链系统根据操作文件进行相应地处理,处理的方式有多种,例如,对投票的结果进行统计,进而根据统计的结果按照预设的决策规则进行决策方式的选定,或者,根据虚拟货币交易的操作文件中关联的用户信息对相应地用户钱包的虚拟货币进行转移或者增减。
S204,根据操作文件生成操作种子以在好友间传播,以使P2P互联网络中的其他好友节点根据操作种子从P2P下载服务器下载操作文件,并根据操作文件做种以进行全网同步。
也就是说,在产生操作的好友节点将操作存储为操作文件,并将操作文件上传至P2P下载服务器之后,根据操作文件生成操作种子,并将操作种子在好友间传播,其他好友对应的节点可根据该操作种子中包含的种子信息从P2P下载服务器下载操作文件,并且,在操作文件下载完毕之后,好友节点根据操作文件做种以进行全网同步,如此,可加快操作文件在全网进行同步的速度。
S205, 当P2P互联网络中的任意一个好友节点满足预设的创建区块的条件时,该好友节点建立节点区块,并将节点区块的信息上传至P2P下载服务器。
其中,该好友节点还在节点区块的预设位置添加前一区块种子域以加入前一创建区块的种子信息,如此,可通过各节点区块的种子信息以及预设位置前一区块种子域中的前一创建区块的种子信息形成各节点区块之间的关联,以形成区块链;同时,各节点在获取新建区块之后,可通过区块文件中的前一区块种子域中的前一创建区块的种子信息以递归的方式获取区块链中的全部区块文件。
其中,预设创建区块的条件的方式可以有多种,例如,预设创建区块的条件为当前一区块建立的时间之后的操作条数达到预设的阈值时,即建立新的区块;或者,预设创建区块的条件为当前一区块建立的时间之后的操作文件的存储容量达到预设的阈值时,即建立新的区块。
也就是说,在任意一个好友节点满足创建区块的条件之后,将前一创建区块时间线之后的操作文件打包为原始区块文件,同时,在原始区块文件中预设位置添加前一区块种子域以加入前一创建区块的种子信息,以建立节点区块,并将节点区块的信息上传至P2P下载服务器。
S206,向自己的其他好友所对应的节点广播该节点区块的种子信息,以便其他好友所对应的节点根据该节点区块的种子信息从P2P下载服务器下载节点区块的信息,并根据节点区块的信息做种以进行全网同步。
也就是说,在节点区块建立并上传至P2P下载服务器之后,将新建立的节点区块的种子信息向自己的其他好友所对应的节点进行广播,使得其他好友所对应的节点可以根据该节点区块的种子信息从P2P下载服务器下载节点区块的信息,然后,根据节点区块的信息进行做种进行全网同步,以加快节点区块在P2P互联网络的同步效率。
S207,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,如果P2P互联网络中新建立一个节点区块,该陌生节点通过好友关系获得新建的节点区块后,还通过扫描新建的节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块。
也就是说,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,不直接向区块链网络发起请求下载区块链文件,而是在P2P互联网络中新建立节点区块时,该陌生节点通过获取好友发送的新建节点区块的信息,以根据新建节点区块的信息下载新建节点区块;然后,通过扫描新建节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块;如此,达成对整个区块链文件的同步。
根据本发明实施例提供的基于P2P互联网络构建区块链的方法,首先,本地节点建立创世区块,并将创世区块上传至P2P下载服务器,以及通过P2P互联网络将创世区块的建立信息发送给每个好友对应的节点,接着,好友对应的节点对邀请请求进行响应,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以使创世区块的信息在P2P互联网络中同步;然后,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点将操作存为操作文件,并将操作文件上传到P2P下载服务器,以及通过P2P互联网络将操作文件进行全网同步;接着,当P2P互联网络中的任意一个好友节点满足预设的创建区块的条件时,建立节点区块,并将节点区块的信息上传至P2P下载服务器,最后,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,如果P2P互联网络中新建立一个节点区块,该陌生节点通过好友关系获得新建的节点区块后,还通过扫描新建的节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块;从而实现对区块链网络的快速构建,同时,可减轻构建过程中各节点的数据传输负担,提高现有节点资源的利用率。
为实现上述实施例,本发明实施例提出一种计算机可读存储介质,其上存储有基于P2P互联网络构建区块链的程序,该基于P2P互联网络构建区块链的程序被处理器执行时实现如上述的基于P2P互联网络构建区块链的方法。
图3为本发明实施例提出的一种基于P2P互联网络构建区块链的系统的方框示意图,如图3所示,该基于P2P互联网络构建区块链的系统包括:P2P下载服务器10、本地节点20和多个好友节点30。
其中,本地节点20,用于建立创世区块,并将创世区块的信息上传到P2P下载服务器10,以及通过P2P互联网络将创世区块的建立信息发送给每个好友节点,其中,创世区块的建立信息包括邀请请求和种子信息。
每个好友节点30,用于响应邀请请求,其中,当任意一个好友节点响应邀请请求时,该好友节点根据种子信息查询P2P下载服务器10以下载创世区块的信息,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
在一些实施例中,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点30将该操作存为操作文件,并将操作文件上传到P2P下载服务器10,以及根据操作文件生成操作种子以在好友间传播,以使P2P互联网络中的其他好友节点30根据操作种子从P2P下载服务器10下载操作文件,并根据操作文件做种以进行全网同步。
在某些实施例中,当P2P互联网络中的任意一个好友节点满足预设的创建区块的条件时,该好友节点建立节点区块,并将节点区块的信息上传至P2P下载服务器10,其中,该好友节点30还在节点区块的预设位置添加前一区块种子域以加入前一创建区块的种子信息,并向自己的其他好友所对应的节点广播该节点区块的种子信息,以便其他好友所对应的节点根据该节点区块的种子信息从P2P下载服务器10下载节点区块的信息,并根据节点区块的信息做种以进行全网同步。
在一些实施例中,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,如果P2P互联网络中新建立一个节点区块,该陌生节点通过好友关系获得新建的节点区块后,还通过扫描新建的节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块。
根据本发明实施例的基于P2P互联网络构建区块链的系统,首先,本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将创世区块的建立信息发送给每个好友节点,其中,创世区块的建立信息包括邀请请求和种子信息;然后,通过多个好友节点对邀请请求进行响应,其中,当任意一个好友节点响应邀请请求时,该好友节点根据种子信息查询P2P下载服务器以下载创世区块的信息,并通过P2P互联网络将种子信息和邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据种子信息和邀请请求下载创世区块的信息,以使创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步;从而实现对区块链网络的快速构建,同时,可减轻构建过程中各节点的数据传输负担,提高现有节点资源的利用率。
为了实现上述实施例,本发明实施例提出了一种区块链系统,包括上述的基于P2P互联网络构建区块链的系统。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征 “上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于P2P互联网络构建区块链的方法,其特征在于,包括以下步骤:
通过本地节点建立创世区块,并将创世区块的信息上传到P2P下载服务器,以及通过P2P互联网络将所述创世区块的建立信息发送给每个好友对应的节点,其中,所述创世区块的建立信息包括邀请请求和种子信息;
当任意一个好友对应的节点响应所述邀请请求时,该好友对应的节点根据所述种子信息查询所述P2P下载服务器以下载所述创世区块的信息,并通过P2P互联网络将所述种子信息和所述邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据所述种子信息和所述邀请请求下载所述创世区块的信息,以使所述创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
2.如权利要求1所述的基于P2P互联网络构建区块链的方法,其特征在于,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点将该操作存为操作文件,并将所述操作文件上传到所述P2P下载服务器,以及根据所述操作文件生成操作种子以在好友间传播,以使P2P互联网络中的其他好友节点根据所述操作种子从所述P2P下载服务器下载所述操作文件,并根据所述操作文件做种以进行全网同步。
3.如权利要求1或2所述的基于P2P互联网络构建区块链的方法,其特征在于,当P2P互联网络中的任意一个好友节点满足预设的创建区块的条件时,该好友节点建立节点区块,并将节点区块的信息上传至所述P2P下载服务器,其中,
该好友节点还在节点区块的预设位置添加前一区块种子域以加入前一创建区块的种子信息,并向自己的其他好友所对应的节点广播该节点区块的种子信息,以便其他好友所对应的节点根据该节点区块的种子信息从所述P2P下载服务器下载节点区块的信息,并根据节点区块的信息做种以进行全网同步。
4.如权利要求3所述的基于P2P互联网络构建区块链的方法,其特征在于,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,如果P2P互联网络中新建立一个节点区块,该陌生节点通过好友关系获得新建的节点区块后,还通过扫描新建的节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块。
5.一种计算机可读存储介质,其特征在于,其上存储有基于P2P互联网络构建区块链的程序,该基于P2P互联网络构建区块链的程序被处理器执行时实现如权利要求1-4中任一项所述的基于P2P互联网络构建区块链的方法。
6.一种基于P2P互联网络构建区块链的系统,其特征在于,包括P2P下载服务器、本地节点和多个好友节点,其中,
所述本地节点,用于建立创世区块,并将创世区块的信息上传到所述P2P下载服务器,以及通过P2P互联网络将所述创世区块的建立信息发送给每个好友节点,其中,所述创世区块的建立信息包括邀请请求和种子信息;
每个好友节点,用于响应所述邀请请求,其中,当任意一个好友节点响应所述邀请请求时,该好友节点根据所述种子信息查询所述P2P下载服务器以下载所述创世区块的信息,并通过P2P互联网络将所述种子信息和所述邀请请求转发给自己的其他好友所对应的节点,以便自己的其他好友所对应的节点根据所述种子信息和所述邀请请求下载所述创世区块的信息,以使所述创世区块的信息在P2P互联网络中的每个好友所对应的节点进行同步。
7.如权利要求6所述的基于P2P互联网络构建区块链的系统,其特征在于,当P2P互联网络中的任意一个好友节点产生一项操作时,该好友节点将该操作存为操作文件,并将所述操作文件上传到所述P2P下载服务器,以及根据所述操作文件生成操作种子以在好友间传播,以使P2P互联网络中的其他好友节点根据所述操作种子从所述P2P下载服务器下载所述操作文件,并根据所述操作文件做种以进行全网同步。
8.如权利要求6或7所述的基于P2P互联网络构建区块链的系统,其特征在于,当P2P互联网络中的任意一个好友节点满足预设的创建区块的条件时,该好友节点建立节点区块,并将节点区块的信息上传至所述P2P下载服务器,其中,
该好友节点还在节点区块的预设位置添加前一区块种子域以加入前一创建区块的种子信息,并向自己的其他好友所对应的节点广播该节点区块的种子信息,以便其他好友所对应的节点根据该节点区块的种子信息从所述P2P下载服务器下载节点区块的信息,并根据节点区块的信息做种以进行全网同步。
9.如权利要求8所述的基于P2P互联网络构建区块链的系统,其特征在于,当任意一个陌生节点在其他网络已创建多个区块后再通过好友关系加入到P2P互联网络中时,如果P2P互联网络中新建立一个节点区块,该陌生节点通过好友关系获得新建的节点区块后,还通过扫描新建的节点区块中的前一区块种子域以获得前一创建区块的种子信息,并根据前一创建区块的种子信息下载前一创建区块的信息,以基于递归的方式获得P2P互联网络中所有历史区块。
10.一种区块链系统,其特征在于,包括如权利要求6-10中任一项所述的基于P2P互联网络构建区块链的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712753.3A CN109120669B (zh) | 2018-07-03 | 2018-07-03 | 基于p2p互联网络构建区块链的方法、介质和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712753.3A CN109120669B (zh) | 2018-07-03 | 2018-07-03 | 基于p2p互联网络构建区块链的方法、介质和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120669A true CN109120669A (zh) | 2019-01-01 |
CN109120669B CN109120669B (zh) | 2021-06-04 |
Family
ID=64822480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810712753.3A Active CN109120669B (zh) | 2018-07-03 | 2018-07-03 | 基于p2p互联网络构建区块链的方法、介质和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120669B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598386A (zh) * | 2019-09-27 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及存储介质 |
CN110933173A (zh) * | 2019-12-03 | 2020-03-27 | 上海墨珩网络科技有限公司 | 一种基于区块链技术的组网方法和装置 |
CN112039822A (zh) * | 2019-06-03 | 2020-12-04 | 厦门本能管家科技有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN112235340A (zh) * | 2020-09-01 | 2021-01-15 | 迅鳐成都科技有限公司 | 一种分布式区块链组网方法、装置、系统及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009568A (zh) * | 2006-01-24 | 2007-08-01 | 腾讯科技(深圳)有限公司 | 一种p2p网络中实现数据下载的方法及系统 |
CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
WO2018005243A1 (en) * | 2016-06-30 | 2018-01-04 | Microsoft Technology Licensing, Llc | Peer-to-peer assisted personal synchronization |
CN107733855A (zh) * | 2017-08-31 | 2018-02-23 | 中国科学院信息工程研究所 | 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法 |
US20180150799A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Blockchain checkpoints and certified checkpoints |
CN108156257A (zh) * | 2018-01-17 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种信息推送方法及装置 |
CN108200210A (zh) * | 2018-02-12 | 2018-06-22 | 众安信息技术服务有限公司 | 基于区块链的链管理的方法、装置及计算机可读介质 |
-
2018
- 2018-07-03 CN CN201810712753.3A patent/CN109120669B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009568A (zh) * | 2006-01-24 | 2007-08-01 | 腾讯科技(深圳)有限公司 | 一种p2p网络中实现数据下载的方法及系统 |
CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
WO2018005243A1 (en) * | 2016-06-30 | 2018-01-04 | Microsoft Technology Licensing, Llc | Peer-to-peer assisted personal synchronization |
US20180150799A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Blockchain checkpoints and certified checkpoints |
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
CN107733855A (zh) * | 2017-08-31 | 2018-02-23 | 中国科学院信息工程研究所 | 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法 |
CN108156257A (zh) * | 2018-01-17 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种信息推送方法及装置 |
CN108200210A (zh) * | 2018-02-12 | 2018-06-22 | 众安信息技术服务有限公司 | 基于区块链的链管理的方法、装置及计算机可读介质 |
Non-Patent Citations (2)
Title |
---|
TIEN TUAN ANH DINH等: ""Untangling Blockchain: A Data Processing View of Blockchain Systems"", 《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING 》 * |
郑纬民等: ""对等计算研究概论"", 《中国计算机学会通讯》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039822A (zh) * | 2019-06-03 | 2020-12-04 | 厦门本能管家科技有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN112039822B (zh) * | 2019-06-03 | 2022-08-02 | 本无链科技(深圳)有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN110598386A (zh) * | 2019-09-27 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及存储介质 |
CN110598386B (zh) * | 2019-09-27 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及存储介质 |
CN110933173A (zh) * | 2019-12-03 | 2020-03-27 | 上海墨珩网络科技有限公司 | 一种基于区块链技术的组网方法和装置 |
CN110933173B (zh) * | 2019-12-03 | 2022-08-09 | 上海墨珩网络科技有限公司 | 一种基于区块链技术的组网方法和装置 |
CN112235340A (zh) * | 2020-09-01 | 2021-01-15 | 迅鳐成都科技有限公司 | 一种分布式区块链组网方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109120669B (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120669A (zh) | 基于p2p互联网络构建区块链的方法、介质和系统 | |
CN110708188B (zh) | 一种基于sla的网络切片的创建方法和装置 | |
CN109492380A (zh) | 一种设备认证方法、装置及区块链节点 | |
CN111523150B (zh) | 基于区块链的文档编辑方法、装置及系统 | |
CN112235420B (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
CN101616073B (zh) | 通信系统以及服务器装置 | |
CN106506719B (zh) | 命名数据网络中分发策略的配置方法及配置系统 | |
CN103095727B (zh) | P2p资源定位方法 | |
CN108881354A (zh) | 一种推送信息存储方法、装置、服务器和计算机存储介质 | |
CN109522363A (zh) | 基于区块链的云平台同步方法、系统、设备及存储介质 | |
CN108965469A (zh) | 区块链网络成员动态管理方法、装置、设备及存储介质 | |
CN102780779A (zh) | 一种园区网出口p2p流量优化方法、装置及网关设备 | |
CN107005556A (zh) | 针对通信会话的会话感知 | |
CN110402567A (zh) | 信息为中心的网络中基于中心性的缓存 | |
CN103327088A (zh) | 一种基于ims信令体系构建云计算服务的系统及方法 | |
CN109391503A (zh) | 一种网络切片管理方法及装置 | |
CN109150981B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN110719526A (zh) | 视频播放方法及装置 | |
CN102694799B (zh) | 一种p2p流媒体系统仿真平台及性能评价方法 | |
CN105516070B (zh) | 一种认证凭证更替的方法及装置 | |
Fältström | Market-driven challenges to open internet standards | |
CN107273060A (zh) | 数据分布式存储的方法和装置 | |
CN104780591B (zh) | 终端设备间业务互操作实现方法、装置、系统及相关设备 | |
CN109104472B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN105654362A (zh) | 一种订单管理系统及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 361000 B1F-065, Zone A, Huaxun Building, Software Park, Xiamen Torch Hi-tech Zone, Huli District, Xiamen City, Fujian Province Patentee after: Ke'an (Xiamen) Technology Co.,Ltd. Address before: B1f-065, zone a, Huaxun building, software park, torch hi tech Zone, Xiamen City, Fujian Province, 361000 Patentee before: TAILIAN (XIAMEN) TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |