CN108234134A - 区块同步方法及系统 - Google Patents

区块同步方法及系统 Download PDF

Info

Publication number
CN108234134A
CN108234134A CN201711459912.5A CN201711459912A CN108234134A CN 108234134 A CN108234134 A CN 108234134A CN 201711459912 A CN201711459912 A CN 201711459912A CN 108234134 A CN108234134 A CN 108234134A
Authority
CN
China
Prior art keywords
snapshot
node
block
info
verified
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
Application number
CN201711459912.5A
Other languages
English (en)
Other versions
CN108234134B (zh
Inventor
汪德嘉
郭宇
王少凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIANGSU PAY EGIS TECHNOLOGY Co.,Ltd.
Jiangsu tongfudun blockchain Technology Co., Ltd
Original Assignee
Jiangsu Payegis Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Payegis Technology Co Ltd filed Critical Jiangsu Payegis Technology Co Ltd
Priority to CN201711459912.5A priority Critical patent/CN108234134B/zh
Publication of CN108234134A publication Critical patent/CN108234134A/zh
Application granted granted Critical
Publication of CN108234134B publication Critical patent/CN108234134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Abstract

本发明公开了一种区块同步方法及系统。其中,区块链网络中的部分常规节点通过抵押数字货币的方式成为快照节点,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,新增节点从快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于一定数量,则从预设节点下载区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,提升了区块同步的安全性,避免了因没有存在生成快照信息的可信节点列表,而同步虚假区块的问题,降低了遭受女巫攻击的风险。

Description

区块同步方法及系统
技术领域
本发明涉及互联网技术领域,具体涉及一种区块同步方法及系统。
背景技术
传统的区块链网络上,新接入区块链网络的节点需要从邻近节点同步区块。在区块同步过程中,该新接入节点需要对下载的区块中的每一笔交易的数字签名都进行校验,只有校验通过才会将该交易加入本地交易列表,一般来说校验所有交易的数字签名所花费的时间是下载区块的好几倍,非常耗费时间,使得整个区块同步时间非常长。
现有技术采用快照技术来克服上述问题,然而,没有存在生成快照信息的可信节点列表,因此可能会有一些欺诈节点形成虚假快照信息,使得新接入节点同步虚假区块,也就是遭受女巫攻击。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的区块同步方法和相应的区块同步系统。
根据本发明的一个方面,提供了一种区块同步方法,方法应用于区块链网络,并根据区块链的区块标号预先定义快照区间,其中,方法包括:
区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点,智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表;
针对每个快照节点,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,并将签名信息广播至区块链网络中;
新增节点从智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,其中,第三预设数量小于或等于第二预设数量。
根据本发明的另一个方面,提供了一种区块同步系统,系统应用于区块链网络,并根据区块链的区块标号预先定义快照区间,其中,系统包括:
区块链网络中的部分常规节点,用于通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点,其中,智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表;
成为快照节点的常规节点,用于对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,并将签名信息广播至区块链网络中;
新增节点,用于从智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,其中,第三预设数量小于或等于第二预设数量。
根据本发明提供的方案,区块链网络中的部分常规节点通过抵押数字货币的方式成为快照节点,通过抵押数字货币的方式实现生成快照信息的可信任节点列表,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,新增节点从快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于一定数量,则从区块链网络中的预设节点下载区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,避免了因没有存在生成区块快照的可信节点列表,可能存在一些欺诈节点形成虚假快照信息,使得新接入节点同步虚假区块的问题,降低了遭受女巫攻击的风险。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的区块同步方法的流程示意图;
图2示出了根据本发明另一个实施例的区块同步方法的流程示意图;
图3示出了根据本发明一个实施例的区块同步系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
现有技术是每30000个区块进行快照,新接入节点从一些节点获取快照信息,验证快照信息合法性之后,就认为快照信息针对的区块中的交易合法,则将区块加入该节点自身的区块链副本中,即便存在欺诈行为,也无法识别,使得新接入节点同步虚假区块,也就是遭受女巫攻击。
为了解决上述问题,本发明的发明人提出了有意成为快照节点的常规节点通过将一定量的数字货币转存至智能合约,形成可信任节点列表的方案。本发明实施例提供的区块同步方法及系统应用于区块链网络,并根据区块链的区块标号预先定义快照区间,区块标号用于标记区块序号,每个区块都有自己的区块标号,利用区块标号定义快照区间,其中,快照区间定义了需要进行快照处理的区块的范围,也就是说,每个快照区间内包含一定数量的区块。
在本发明的实施例中,可以设定每200个区块构成一快照区间,也可以每100个区块构成一快照区间,还可以是随机定义快照区间内所包含的区块数量,例如,第1个区块-第200个区块为一个快照区间,第201个区块-第300个区块为一个快照区间,第301个区块-第500个区块为一个快照区间,第501个区块-第600个区块为一个快照区间......,这里仅是举例说明,不具有任何限定作用,本领域技术人员可以根据实际需要设定快照区间所包含的区块的数量。
图1示出了根据本发明一个实施例的区块同步方法的流程示意图。该方法应用于区块链网络,并根据区块链的区块标号预先定义快照区间,如图1所示,该方法包括以下步骤:
步骤S100,区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点。
有意成为快照节点的常规节点可以通过将其数字货币转存至智能合约的方式来成为快照节点,为了避免作弊,数字货币的金额可以设置的高一些,如果有作弊行为发生,可以扣除该节点转存的数字货币,其中,第一预设数量对应的数值可以根据实际需要进行设定。
由于节点将数字货币转存到了智能合约中,与节点的利益息息相关,因此,提高了节点的可信任程度,其中,智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表,区块链网络共享一个智能合约,节点可以访问智能合约,快照节点标识是节点唯一标识,用于区分不同的节点,每个标识对应一节点,快照信息存储地址为快照信息在节点中的存储地址,根据快照信息存储地址可以快速地定位到节点存储的快照信息。
步骤S101,针对每个快照节点,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,并将签名信息广播至区块链网络中。
在成为快照节点之后,每个快照节点负责对快照区间内多个区块中的交易信息进行快照处理,这里的快照处理是指对快照区间内多个区块中的交易信息进行的一种特殊压缩处理,快照处理后得到区块的快照信息,其中,快照信息包括:区块数据、状态数据、文件清单等,快照信息可以供新接入区块链网络的节点对所下载的区块进行验证。
在对快照区间内多个区块中的交易信息进行快照处理得到区块的快照信息之后,还需要对快照信息进行签名处理,这里对快照信息进行签名是为了便于后续追踪快照信息是由哪个节点生成的,便于验证在进行快照处理时是否存在作假行为,在对快照信息进行签名处理之后,得到快照信息对应的签名信息,并将签名信息广播至区块链网络中。
步骤S102,新增节点从智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中。
在本发明实施例中,进行数字货币抵押的节点一般为多个,而且应当尽量避免只有一个常规节点成为快照节点的情况,因为若只有一个快照节点,即便该快照节点有欺诈行为,也无法识别,就会导致无法正确同步区块的问题。
节点在加入区块链网络之后,在从区块链网络中的预设节点下载区块之前,可以先对快照节点的签名信息和快照信息进行验证,为了提升同步效率,可以从智能合约中选取第二预设数量的快照节点标识,对选取的快照节点标识对应的快照节点的快照信息及对应的签名信息进行验证,具体地,根据所选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,其中,第三预设数量小于或等于第二预设数量,第三预设数量的数值应大于第二预设数量对应的数值的二分之一,然后,从区块链网络中的预设节点下载第四预设数量的区块,利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,这里的第四预设数量的区块对应一个快照区间内的区块,预设区块可以为区块链网络中除新增节点外的任一节点。
根据本发明上述实施例提供的方法,区块链网络中的部分常规节点通过抵押数字货币的方式成为快照节点,通过抵押数字货币的方式实现生成快照信息的可信任节点列表,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,新增节点从快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于一定数量,则从区块链网络中的预设节点下载区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,避免了因没有存在生成区块快照的可信节点列表,可能存在一些欺诈节点形成虚假快照信息,使得新接入节点同步虚假区块的问题,降低了遭受女巫攻击的风险。
图2示出了根据本发明另一个实施例的区块同步方法的流程示意图。该方法应用于区块链网络,并根据区块链的区块标号预先定义快照区间,如图2所示,该方法包括以下步骤:
步骤S200,区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约中成为候选节点,从候选节点中选择第五预设数量的常规节点作为快照节点。
为了避免快照节点过多,而造成资源浪费的问题,区块链网络中的部分常规节点在将第一预设数量的数字货币转存至智能合约后将成为候选节点,可以从候选节点中选择第五预设数量的常规节点作为快照节点,其中,第五预设数量的数值可以根据实际需要进行设定,例如,有10个常规节点通过将数字货币转存至智能合约中成为候选节点,可以从10个候选节点中选取5个常规节点作为快照节点,这里仅是举例说明,不具有任何限定作用。其中,智能合约为存储有快照节点标识、对应的快照信息存储地址、公钥信息的列表,区块链网络共享一个智能合约,节点可以访问智能合约。
节点将数字货币转存到智能合约成为快照节点,由于与节点的利益息息相关,从而降低了快照节点欺诈的概率,提高了节点的可信任程度,为了避免欺诈,数字货币的金额可以设置的高一些,如果有欺诈行为发生,可以扣除该节点转存的数字货币。
步骤S201,针对每个快照节点,快照节点根据当前区块的区块标号判断是否进行快照处理,若是,则执行步骤S202。
在本发明实施例中,区块标号用于标记区块序号,每个区块都有自己的区块标号,根据区块标号预先定义了快照区间,快照区间定义了需要进行快照处理的区块的范围,举例说明,第1个区块-第200个区块为一个快照区间,第201个区块-第400个区块为一个快照区间,那么当前区块的区块标号为200或400时,就需要进行快照处理。
步骤S202,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并利用快照节点的私钥信息对快照信息进行签名处理,得到对应的签名信息,并将签名信息广播至区块链网络中。
在根据当前区块的区块标号判断需要进行快照处理后,每个快照节点负责对快照区间内多个区块中的交易信息进行快照处理,这里的快照处理是指对快照区间内多个区块中的交易信息进行的一种特殊压缩处理,快照处理后得到区块的快照信息,其中,快照信息包括:区块数据、状态数据、文件清单等,快照信息可以供新接入区块链网络的节点对所下载的区块进行验证。
在对快照区间内多个区块中的交易信息进行快照处理得到区块的快照信息之后,还需要对快照信息进行签名处理,具体地,可以利用快照节点的私钥信息对快照信息进行签名处理,这里对快照信息进行签名是为了便于后续追踪快照信息是由哪个节点生成的,便于验证在进行快照处理时是否存在作假行为,在对快照信息进行签名处理之后,得到快照信息对应的签名信息,并将签名信息广播至区块链网络中。
步骤S203,新增节点从智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息。
节点在加入区块链网络之后,在从区块链网络中的预设节点下载区块之前,可以先对智能合约中的快照节点的签名信息和快照信息进行验证,以避免因验证未通过而导致无谓的下载,浪费资源。
为了提升同步效率,可以从智能合约中选取第二预设数量的快照节点标识,并根据所选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息。例如,现在5个常规节点成为了快照节点,可以从中选取3个快照节点,从所选取的3个快照节点获取快照信息以及对应的签名信息。
步骤S204,利用公钥信息对签名信息进行验证,若签名信息验证通过,则将各快照节点的快照信息进行匹配,若相同快照信息的数量大于第三预设数量,则认为快照信息验证通过,从区块链网络中的预设节点下载第四预设数量的区块,并对所下载的区块进行快照处理,得到所下载的区块对应的快照信息,将验证通过的快照信息与所下载的区块对应的快照信息进行匹配,若一致,则确定验证通过,并将所下载的区块加入该节点自身的区块链副本中。
公钥信息与私钥信息是一对密钥,只有与私钥对应的公钥才能正确解密,因此,在获取到签名信息之后,可以利用该节点对应的公钥信息对签名信息进行验证,在签名信息验证通过后,还需将各快照节点的快照信息进行匹配,一般情况下,如果是对相同的区块中的交易进行快照处理,那么所得到的快照信息是相同的,因此,当相同快照信息的数量大于第三预设数量时,则认为快照信息验证通过,其中,第三预设数量小于或等于第二预设数量,例如,选取了3个快照节点进行验证,那么有2个或3个节点的快照信息相同,则可以认为该快照信息是合法的,然后,从区块链网络中的预设节点下载第四预设数量的区块,对所下载的区块进行快照处理,得到所下载的区块对应的快照信息,对相同区块进行的快照处理所得到的快照信息相同,因此,在得到所下载的区块对应的快照信息之后,将验证通过的快照信息与所下载的区块对应的快照信息进行匹配,若一致,则确定验证通过,并将所下载的区块加入该节点自身的区块链副本中,这里的第四预设数量的区块对应一个快照区间内的区块。
在本发明一种可选实施方式中,若签名信息或快照信息验证未通过,则新增节点可以向验证通过的快照节点发送反馈信息,以供验证通过的快照节点对签名信息或快照信息验证未通过的快照节点的数字货币罚没。
对于签名信息或快照信息验证未通过的快照节点,新增节点可以向验证通过的快照节点发送反馈信息,验证通过的快照节点对签名信息或快照信息验证未通过的快照节点的数字货币罚没,以对签名信息或快照信息验证未通过的快照节点进行处罚。
根据本发明上述实施例提供的方法,区块链网络中的常规节点通过抵押数字货币的方式成为快照节点,通过抵押数字货币的方式实现生成快照信息的可信任节点列表,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,新增节点从快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于一定数量,则从区块链网络中的预设节点下载区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,避免了因没有存在生成区块快照的可信节点列表,可能存在一些欺诈节点形成虚假快照信息,使得新接入节点同步虚假区块的问题,降低了遭受女巫攻击的风险。
图3示出了根据本发明一个实施例的区块同步系统的结构示意图。系统应用于区块链网络,并根据区块链的区块标号预先定义快照区间,如图3所示,该系统300包括:常规节点310、成为快照节点的常规节点320、新增节点330。
区块链网络中的部分常规节点310,用于通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点,其中,智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表;
成为快照节点的常规节点320,用于对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,并将签名信息广播至区块链网络中;
新增节点330,用于从智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,其中,第三预设数量小于或等于第二预设数量。
可选地,成为快照节点的常规节点320进一步用于:根据当前区块的区块标号判断是否进行快照处理,若是,则对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息。
可选地,智能合约还存储有快照节点的公钥信息;
成为快照节点的常规节点320进一步用于:利用快照节点的私钥信息对快照信息进行签名处理,得到对应的签名信息;
新增节点330进一步用于:利用公钥信息对签名信息进行验证;若签名信息验证通过,则将各快照节点的快照信息进行匹配,若相同快照信息的数量大于第三预设数量,则认为快照信息验证通过。
可选地,快照信息包括:区块数据、状态数据、文件清单;
新增节点330进一步用于:对所下载的区块进行快照处理,得到所下载的区块对应的快照信息;
将验证通过的快照信息与所下载的区块对应的快照信息进行匹配,若一致,则确定验证通过。
可选地,新增节点330进一步用于:若签名信息或快照信息验证未通过,则向验证通过的快照节点发送反馈信息,以供验证通过的快照节点对签名信息或快照信息验证未通过的快照节点的数字货币罚没。
可选地,区块链网络中的部分常规节点310进一步用于:通过将第一预设数量的数字货币转存至智能合约中成为候选节点,从候选节点中选择第五预设数量的常规节点作为快照节点。
根据本发明上述实施例提供的系统,区块链网络中的部分常规节点通过抵押数字货币的方式成为快照节点,通过抵押数字货币的方式实现生成快照信息的可信任节点列表,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对快照信息进行签名处理,得到对应的签名信息,新增节点从快照节点获取快照信息以及对应的签名信息,对签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于一定数量,则从区块链网络中的预设节点下载区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,避免了因没有存在生成区块快照的可信节点列表,可能存在一些欺诈节点形成虚假快照信息,使得新接入节点同步虚假区块的问题,降低了遭受女巫攻击的风险。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1.一种区块同步方法,其特征在于,所述方法应用于区块链网络,并根据区块链的区块标号预先定义快照区间,其中,所述方法包括:
区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点,所述智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表;
针对每个快照节点,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对所述快照信息进行签名处理,得到对应的签名信息,并将所述签名信息广播至区块链网络中;
新增节点从所述智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对所述签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,其中,第三预设数量小于或等于第二预设数量。
A2.根据A1所述的方法,其特征在于,所述快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息进一步包括:
快照节点根据当前区块的区块标号判断是否进行快照处理,若是,则对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息。
A3.根据A1或A2所述的方法,其特征在于,所述智能合约还存储有快照节点的公钥信息;
所述对快照信息进行签名处理,得到对应的签名信息进一步包括:利用快照节点的私钥信息对所述快照信息进行签名处理,得到对应的签名信息;
所述对所述签名信息及快照信息进行验证进一步包括:利用所述公钥信息对签名信息进行验证;
若签名信息验证通过,则将各快照节点的快照信息进行匹配,若相同快照信息的数量大于第三预设数量,则认为快照信息验证通过。
A4.根据A3所述的方法,其特征在于,所述快照信息包括:区块数据、状态数据、文件清单;
所述利用验证通过的快照信息对下载的区块进行验证进一步包括:
对所下载的区块进行快照处理,得到所下载的区块对应的快照信息;
将验证通过的快照信息与所下载的区块对应的快照信息进行匹配,若一致,则确定验证通过。
A5.根据A1或A2所述的方法,其特征在于,所述方法还包括:若签名信息或快照信息验证未通过,则向验证通过的快照节点发送反馈信息,以供验证通过的快照节点对签名信息或快照信息验证未通过的快照节点的数字货币罚没。
A6.根据A1或A2所述的方法,其特征在于,所述区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点进一步包括:
区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约中成为候选节点,从所述候选节点中选择第五预设数量的常规节点作为快照节点。
B7.一种区块同步系统,其特征在于,所述系统应用于区块链网络,并根据区块链的区块标号预先定义快照区间,其中,所述系统包括:
区块链网络中的部分常规节点,用于通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点,其中,所述智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表;
成为快照节点的常规节点,用于对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对所述快照信息进行签名处理,得到对应的签名信息,并将所述签名信息广播至区块链网络中;
新增节点,用于从所述智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对所述签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,其中,第三预设数量小于或等于第二预设数量。
B8.根据B7所述的系统,其特征在于,所述成为快照节点的常规节点进一步用于:根据当前区块的区块标号判断当前区块是否进行快照处理,若是,则对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息。
B9.根据B7或B8所述的系统,其特征在于,所述智能合约还存储有快照节点的公钥信息;
所述成为快照节点的常规节点进一步用于:利用快照节点的私钥信息对所述快照信息进行签名处理,得到对应的签名信息;
所述新增节点进一步用于:利用所述公钥信息对签名信息进行验证;若签名信息验证通过,则将各快照节点的快照信息进行匹配,若相同快照信息的数量大于第三预设数量,则认为快照信息验证通过。
B10.根据B9所述的系统,其特征在于,所述快照信息包括:区块数据、状态数据、文件清单;
所述新增节点进一步用于:对所下载的区块进行快照处理,得到所下载的区块对应的快照信息;
将验证通过的快照信息与所下载的区块对应的快照信息进行匹配,若一致,则确定验证通过。
B11.根据B7或B8所述的系统,其特征在于,所述新增节点进一步用于:若签名信息或快照信息验证未通过,则向验证通过的快照节点发送反馈信息,以供验证通过的快照节点对签名信息或快照信息验证未通过的快照节点的数字货币罚没。
B12.根据B7或B8所述的系统,其特征在于,所述区块链网络中的部分常规节点进一步用于:通过将第一预设数量的数字货币转存至智能合约中成为候选节点,从所述候选节点中选择第五预设数量的常规节点作为快照节点。

Claims (10)

1.一种区块同步方法,其特征在于,所述方法应用于区块链网络,并根据区块链的区块标号预先定义快照区间,其中,所述方法包括:
区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点,所述智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表;
针对每个快照节点,快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对所述快照信息进行签名处理,得到对应的签名信息,并将所述签名信息广播至区块链网络中;
新增节点从所述智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对所述签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,其中,第三预设数量小于或等于第二预设数量。
2.根据权利要求1所述的方法,其特征在于,所述快照节点对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息进一步包括:
快照节点根据当前区块的区块标号判断是否进行快照处理,若是,则对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息。
3.根据权利要求1或2所述的方法,其特征在于,所述智能合约还存储有快照节点的公钥信息;
所述对快照信息进行签名处理,得到对应的签名信息进一步包括:利用快照节点的私钥信息对所述快照信息进行签名处理,得到对应的签名信息;
所述对所述签名信息及快照信息进行验证进一步包括:利用所述公钥信息对签名信息进行验证;
若签名信息验证通过,则将各快照节点的快照信息进行匹配,若相同快照信息的数量大于第三预设数量,则认为快照信息验证通过。
4.根据权利要求3所述的方法,其特征在于,所述快照信息包括:区块数据、状态数据、文件清单;
所述利用验证通过的快照信息对下载的区块进行验证进一步包括:
对所下载的区块进行快照处理,得到所下载的区块对应的快照信息;
将验证通过的快照信息与所下载的区块对应的快照信息进行匹配,若一致,则确定验证通过。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若签名信息或快照信息验证未通过,则向验证通过的快照节点发送反馈信息,以供验证通过的快照节点对签名信息或快照信息验证未通过的快照节点的数字货币罚没。
6.根据权利要求1或2所述的方法,其特征在于,所述区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点进一步包括:
区块链网络中的部分常规节点通过将第一预设数量的数字货币转存至智能合约中成为候选节点,从所述候选节点中选择第五预设数量的常规节点作为快照节点。
7.一种区块同步系统,其特征在于,所述系统应用于区块链网络,并根据区块链的区块标号预先定义快照区间,其中,所述系统包括:
区块链网络中的部分常规节点,用于通过将第一预设数量的数字货币转存至智能合约的方式成为快照节点,其中,所述智能合约为存储有快照节点标识以及对应的快照信息存储地址的列表;
成为快照节点的常规节点,用于对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息,并对所述快照信息进行签名处理,得到对应的签名信息,并将所述签名信息广播至区块链网络中;
新增节点,用于从所述智能合约中选取第二预设数量的快照节点标识,并根据选取的快照节点标识对应的快照信息存储地址从相应的快照节点获取快照信息以及对应的签名信息,对所述签名信息及快照信息进行验证,若验证通过且相同快照信息的数量大于第三预设数量,则从区块链网络中的预设节点下载第四预设数量的区块,并利用验证通过的快照信息对下载的区块进行验证,若验证通过,则将所下载的区块加入该节点自身的区块链副本中,其中,第三预设数量小于或等于第二预设数量。
8.根据权利要求7所述的系统,其特征在于,所述成为快照节点的常规节点进一步用于:根据当前区块的区块标号判断当前区块是否进行快照处理,若是,则对快照区间内多个区块中的交易信息进行快照处理,得到区块的快照信息。
9.根据权利要求7或8所述的系统,其特征在于,所述智能合约还存储有快照节点的公钥信息;
所述成为快照节点的常规节点进一步用于:利用快照节点的私钥信息对所述快照信息进行签名处理,得到对应的签名信息;
所述新增节点进一步用于:利用所述公钥信息对签名信息进行验证;若签名信息验证通过,则将各快照节点的快照信息进行匹配,若相同快照信息的数量大于第三预设数量,则认为快照信息验证通过。
10.根据权利要求9所述的系统,其特征在于,所述快照信息包括:区块数据、状态数据、文件清单;
所述新增节点进一步用于:对所下载的区块进行快照处理,得到所下载的区块对应的快照信息;
将验证通过的快照信息与所下载的区块对应的快照信息进行匹配,若一致,则确定验证通过。
CN201711459912.5A 2017-12-28 2017-12-28 区块同步方法及系统 Active CN108234134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711459912.5A CN108234134B (zh) 2017-12-28 2017-12-28 区块同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711459912.5A CN108234134B (zh) 2017-12-28 2017-12-28 区块同步方法及系统

Publications (2)

Publication Number Publication Date
CN108234134A true CN108234134A (zh) 2018-06-29
CN108234134B CN108234134B (zh) 2020-09-29

Family

ID=62646590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711459912.5A Active CN108234134B (zh) 2017-12-28 2017-12-28 区块同步方法及系统

Country Status (1)

Country Link
CN (1) CN108234134B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189327A (zh) * 2018-07-27 2019-01-11 阿里巴巴集团控股有限公司 区块链数据的压缩处理方法和装置
CN109213901A (zh) * 2018-09-18 2019-01-15 百度在线网络技术(北京)有限公司 一种区块链的数据同步方法、装置、设备及介质
CN109274754A (zh) * 2018-10-11 2019-01-25 上海保险交易所股份有限公司 用于在区块链网络中同步数据的方法、设备和存储介质
CN109309707A (zh) * 2018-08-15 2019-02-05 泰链(厦门)科技有限公司 不同区块链系统间的信息传递方法和介质
CN109324757A (zh) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 区块链数据缩容方法、装置及存储介质
CN109347803A (zh) * 2018-09-18 2019-02-15 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
CN109361734A (zh) * 2018-09-18 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
CN109587238A (zh) * 2018-12-03 2019-04-05 百度在线网络技术(北京)有限公司 区块链的数据处理和同步方法、装置、设备及存储介质
CN109714652A (zh) * 2018-12-18 2019-05-03 京信通信系统(中国)有限公司 Odn管理系统的数据存储方法、系统、存储介质及设备
WO2020042587A1 (zh) * 2018-08-27 2020-03-05 深圳前海益链网络科技有限公司 一种智能合约调用单点执行系统
WO2021139248A1 (zh) * 2020-07-31 2021-07-15 平安科技(深圳)有限公司 用于区块链的防攻击方法、装置、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610578A (zh) * 2016-01-25 2016-05-25 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法
US20160164884A1 (en) * 2014-12-05 2016-06-09 Skuchain, Inc. Cryptographic verification of provenance in a supply chain
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN106385319A (zh) * 2016-09-29 2017-02-08 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
CN107124278A (zh) * 2017-03-30 2017-09-01 腾讯科技(深圳)有限公司 业务处理方法、装置以及数据共享系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160164884A1 (en) * 2014-12-05 2016-06-09 Skuchain, Inc. Cryptographic verification of provenance in a supply chain
CN105610578A (zh) * 2016-01-25 2016-05-25 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN106385319A (zh) * 2016-09-29 2017-02-08 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
CN107124278A (zh) * 2017-03-30 2017-09-01 腾讯科技(深圳)有限公司 业务处理方法、装置以及数据共享系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189327A (zh) * 2018-07-27 2019-01-11 阿里巴巴集团控股有限公司 区块链数据的压缩处理方法和装置
CN109309707B (zh) * 2018-08-15 2021-06-04 泰链(厦门)科技有限公司 不同区块链系统间的信息传递方法和介质
CN109309707A (zh) * 2018-08-15 2019-02-05 泰链(厦门)科技有限公司 不同区块链系统间的信息传递方法和介质
CN109324757B (zh) * 2018-08-22 2021-05-21 深圳前海微众银行股份有限公司 区块链数据缩容方法、装置及存储介质
CN109324757A (zh) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 区块链数据缩容方法、装置及存储介质
WO2020042587A1 (zh) * 2018-08-27 2020-03-05 深圳前海益链网络科技有限公司 一种智能合约调用单点执行系统
CN109361734B (zh) * 2018-09-18 2021-04-20 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
CN109361734A (zh) * 2018-09-18 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
WO2020057158A1 (zh) * 2018-09-18 2020-03-26 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
JP2021506185A (ja) * 2018-09-18 2021-02-18 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド ブロックチェーンのデータ処理方法、装置、機器及び媒体
CN109347803A (zh) * 2018-09-18 2019-02-15 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
CN109213901A (zh) * 2018-09-18 2019-01-15 百度在线网络技术(北京)有限公司 一种区块链的数据同步方法、装置、设备及介质
US11381385B2 (en) 2018-09-18 2022-07-05 Baidu Online Network Technology (Beijing) Co., Ltd. Data processing method and apparatus for blockchain, and storage medium
CN109274754B (zh) * 2018-10-11 2021-05-04 上海保险交易所股份有限公司 用于在区块链网络中同步数据的方法、设备和存储介质
CN109274754A (zh) * 2018-10-11 2019-01-25 上海保险交易所股份有限公司 用于在区块链网络中同步数据的方法、设备和存储介质
CN109587238A (zh) * 2018-12-03 2019-04-05 百度在线网络技术(北京)有限公司 区块链的数据处理和同步方法、装置、设备及存储介质
CN109587238B (zh) * 2018-12-03 2021-08-03 百度在线网络技术(北京)有限公司 区块链的数据处理和同步方法、装置、设备及存储介质
CN109714652A (zh) * 2018-12-18 2019-05-03 京信通信系统(中国)有限公司 Odn管理系统的数据存储方法、系统、存储介质及设备
WO2021139248A1 (zh) * 2020-07-31 2021-07-15 平安科技(深圳)有限公司 用于区块链的防攻击方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN108234134B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN108234134A (zh) 区块同步方法及系统
CN110442652B (zh) 一种基于区块链的跨链数据处理方法及装置
CN103729597B (zh) 系统启动校验方法、系统启动校验装置和终端
CN108200203B (zh) 基于双层网络的区块链系统
CN103530563B (zh) 用于更新经授权软件的系统和方法
CN105354493B (zh) 基于虚拟化技术的终端可信增强方法及系统
CN109829294A (zh) 一种固件验证方法、系统、服务器及电子设备
CN108769264B (zh) 一种区块链分域方法
CN106548349A (zh) 交易信息验证方法及系统
CN110443075A (zh) 一种区块链智能合约验证部署的方法及装置
CN109934355B (zh) 基于唯一标识的设备管理的方法及系统
CN110599177A (zh) 一种交易验证方法及相关设备
CN110782251B (zh) 一种基于智能合约自动化部署区块链网络的方法
CN109583226A (zh) 数据脱敏处理方法、装置及电子设备
CN106452786A (zh) 加解密处理方法、装置和设备
EP3695360A1 (en) Blockchain with transaction cancellation
CN107301343A (zh) 安全数据处理方法、装置及电子设备
CN107147711A (zh) 应用服务更新方法及装置
CN110083462A (zh) 基于分布式应用程序的通信方法、设备及存储介质
CN111090581A (zh) 智能合约测试方法、装置、计算机设备和存储介质
CN108322466A (zh) 基于Android的APK的验证方法、服务器及可读存储介质
CN109445815A (zh) 一种智能卡及其应用升级方法
CN107994993A (zh) 应用程序检测方法及装置
CN105868639A (zh) 内核漏洞修复方法和装置
CN114969803B (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
TA01 Transfer of patent application right

Effective date of registration: 20200814

Address after: 215028 No. 88 Dongchang Road, Suzhou Industrial Park, Jiangsu Province

Applicant after: JIANGSU PAY EGIS TECHNOLOGY Co.,Ltd.

Applicant after: Jiangsu tongfudun blockchain Technology Co., Ltd

Address before: Suzhou City, Jiangsu province 215021 East Road, Suzhou Industrial Park, No. 88 Suzhou 2.5 Industrial Park C2 building room 3F-301

Applicant before: JIANGSU PAY EGIS TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant