CN109472600B - 一种区块链可信验证方法及装置 - Google Patents
一种区块链可信验证方法及装置 Download PDFInfo
- Publication number
- CN109472600B CN109472600B CN201811385076.5A CN201811385076A CN109472600B CN 109472600 B CN109472600 B CN 109472600B CN 201811385076 A CN201811385076 A CN 201811385076A CN 109472600 B CN109472600 B CN 109472600B
- Authority
- CN
- China
- Prior art keywords
- chain
- block
- main chain
- data
- time
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
Abstract
本发明涉及一种区块链可信验证方法及装置。可信验证方法采用了主链以及至少一条参考链,参考链中含有智能合约,可信验证方法包括以下步骤:定期写入步骤,定期将主链的当前节点信息和当前区块信息,写入其中一条参考链的智能合约;定期验证步骤,定期结合参考链存储的节点信息、区块信息与主链信息进行验证。本发明通过引用至少一条参考链作记录,理论上只需要有一个节点以上,都可以证明主链数据在一段时间内是未被篡改的,即使运营方也无法修改这些数据,用较少节点也能达到较高可信程度,降低了新链、私链的运营成本,同时可以保证新链、私链的可信度。
Description
技术领域
本发明涉及区块链技术,尤其涉及一种区块链可信验证方法及装置。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
目前,随着区块链的出现和发展,已经在一些领域改变了人们的生活方式。与此同时区块链技术还在持续发展,智能合约已经诞生,各种主链也层出不穷。主链技术的竞争集中在智能合约、TPS、存储、是否充分去中心化方面。但TPS与去中心化程度一直是个矛盾,要高TPS就需要中心化,要去中心化就会出现低TPS。中心化太高,就会违背区块链本质,其中问题之一,是信任问题。信任问题出现在两方面,一是运营者主观情况下可以轻易修改、分叉数据;二是非主观情况下(例如遇到恶意算力攻击、黑客攻击)可以被轻易修改。如图1所示,区块链信任主要由共识算法和去中心化程度来体现。中心化程度主要体现在节点数目上(实际就是算力),节点越多越去中心、信任基础越强。
在现实中常有新的公链出现,但是刚开始节点数并不多,甚至只有个位数的节点,而去中心化程度需要增加节点数、需要分散利益到各节点,但是增加许多节点在一条新公链的早期不太现实,此时很容易出现信任问题。如果能出现用较少节点也能达到较高可信程度,将会对新链,甚至私链都有非常重要意义。
发明内容
本发明的目的在于为克服现有技术的缺陷,而提供一种区块链可信验证方法及装置,以通过较少节点达到高可信度。
为实现上述目的,本发明采用以下技术方案:
一种区块链可信验证方法采用了主链以及至少一条参考链,参考链中含有智能合约,可信验证方法包括以下步骤:定期写入步骤,定期将主链的当前节点信息和当前区块信息,写入其中一条参考链的智能合约;定期验证步骤,定期结合参考链存储的节点信息、区块信息与主链信息进行验证。
在其中一方面,主链的当前节点信息包括当前节点时间。定期验证步骤包括:对比主链当前节点时间与参考链上一次的保存时间,两者之差若大于设定阈值,则判定为异常。
在另一方面,定期验证步骤包括:对比参考链上两次保存的时间差,若时间差大于设定阈值,则判定为异常。
在其中一方面,主链的当前区块信息包括当前区块hash以及当前块高度。定期验证步骤包括:判断参考链上保存的区块hash是否存在于主链中,若不存在,则判定为异常。定期验证步骤包括:判断参考链上的区块高度与区块hash的映射对照关系是否与主链相应的对照关系是否匹配,若不匹配,则判定为异常。
在其中一方面,若在定期验证步骤中判断为异常,则将当前数据回滚到正确数据时间点上,丢弃中间异常数据。
本发明还公开了一种电子设备,包括:处理器;以及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现以上的区块链可信验证方法。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现根据以上的区块链可信验证方法。
本发明与现有技术相比的有益效果是:通过引用至少一条参考链作记录,理论上只需要有一个节点以上,都可以证明主链数据在一段时间内是未被篡改的,即使运营方也无法修改这些数据,用较少节点也能达到较高可信程度,降低了新链、私链的运营成本,同时可以保证新链、私链的可信度。
附图说明
图1为现有技术中区块链信任机制示意图。
图2为本发明中区块链信任机制示意图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案作进一步介绍和说明。
如图2所示,本实施例的区块链信任机制中,往主链中加入一条参考链来做记录和验证,在其他实施例中,也可以采用多于一条参考链来作记录和验证。参考链为以太坊公链,在其中开发一个智能合约。
本实施例的可信验证方法包括定期写入步骤和定期验证步骤。在主链刚建立时,在主链有数据时便可以开始进行定期写入步骤,当参考链有记录后,便可以进行定期验证步骤。
定期写入步骤主要内容是定期将主链的当前节点信息和当前区块信息,写入参考链的智能合约中做记录。定期写入步骤的主要目的是做记录,也即是在参考链中做主链相关数据情况的备份记录。定期写入步骤中的“定期”是指间隔一定的时间写入,这个间隔期限可以根据具体的情况决定:若主链的数据写入频繁,可以设定间隔期限更短一些,譬如15分钟;若主链的数据写入不频繁,可以将间隔期设定长一些,譬如两个小时或更长。要注意的是,间隔期限越短,对系统性能要求更高。
定期写入步骤中,主链的当前节点信息包括当前节点时间,主链的当前区块信息包括当前区块hash以及当前块高度。在区块链技术中,节点是指区块链去中心化应用所涉及到的服务器。记录节点时间,目的是可以通过对比前后时间差以检测是否存在异常。区块链的基本组成是一个个的区块,这些的区块是用来承载数据的,每一个区块里面都承载着某一个时间段的数据。区块的内部结构分为头部、元数据和一系列的交易记录。区块的两个主要标识:区块hash(即区块头部哈希值)和区块高度。区块hash即为区块自身头部进行二次哈希计算产生的加密哈希值。区块高度是区块链接在主链的个数,也就是连接在区块链上的块数。
定期验证步骤主要内容是:定期结合参考链存储的节点信息、区块信息与主链信息进行验证。定期验证步骤其中一步是:对比主链当前节点时间与参考链上一次的保存时间,两者之差若大于设定阈值,则判定为异常。譬如,主链定期每x单位时间内向参考链的智能合约写入一次记录,那么此处阈值的应该为加上参考链误差y单位时间和主链误差z单位时间,那么在验证的时候主链当前节点时间与参考链上一次的保存时间之差应当大于x+y+z单位时间。而如果时间差大于阈值,则判定为异常,中间数据有可能被篡改,需要将当前数据(主链数据、参考链的智能合约)回滚到正确数据时间点上,丢弃中间异常数据。
定期验证步骤的另一步是:对比参考链上两次保存的时间差,若时间差大于设定阈值,则判定为异常。譬如,主链定期每x单位时间内向参考链的智能合约写入一次记录,那么此处阈值的应该为加上参考链误差y单位时间和主链误差z单位时间,那么在验证的时候参考链上两次保存的时间差应当大于x+y+z单位时间。而如果时间差大于阈值,则判定为异常,中间数据或者时间有可能被篡改,需要将当前数据(主链数据、参考链的智能合约)回滚到正确数据时间点上,丢弃中间异常数据。
定期验证步骤中还有一步是:判断参考链上保存的区块hash是否存在于主链中,将参考链的区块hash在主链中搜寻,找到了便判定此验证条件通过,若不存在,则判定为异常。若判定为异常,则将当前数据(主链数据、参考链的智能合约)回滚到正确数据时间点上,丢弃中间异常数据。
定期验证步骤中还有一步是:判断参考链上的区块高度与区块hash的映射对照关系是否与主链相应的对照关系是否匹配,若不匹配,则判定为异常。区块高度与区块hash的映射对照关系可以是类似std::map<区块高度,区块hash>这种映射,或者类似struct XXX{区块高度;区块hash;}这种映射关系。若两者不匹配,则直接判定为异常,中间数据有可能被篡改,需要将当前数据(主链数据、参考链的智能合约)回滚到正确数据时间点上,丢弃中间异常数据。
本实施例还有一种电子设备包括:处理器;以及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现本实施例的区块链可信验证方法。
本实施例还有一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现根据本实施例的区块链可信验证方法。
本实施例的区块链可信验证方法通过引用至少一条参考链作记录,理论上只需要有一个节点以上,都可以证明主链数据在一段时间内是未被篡改的,即使运营方也无法修改这些数据,用较少节点也能达到较高可信程度。而且在定期验证步骤对区块链关键的特征(时间差、映射对照关系)进行验证,通过保证区块链关键特征正确来保证区块链数据正确完整、可信度高。
以上陈述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。
Claims (8)
1.一种区块链可信验证方法,其特征在于,其采用了主链以及至少一条第三方区块链作为参考链,所述参考链中含有智能合约,所述可信验证方法包括以下步骤:
定期写入步骤,定期将主链的当前节点信息和当前区块信息,写入其中一条参考链的智能合约;
定期验证步骤,定期结合参考链存储的节点信息、区块信息与主链信息进行验证;
其中,所述主链的当前节点信息包括当前节点时间;所述定期验证步骤包括:对比主链当前节点时间与参考链上一次的保存时间,两者之差若大于设定阈值,则判定为异常。
2.如权利要求1所述的区块链可信验证方法,其特征在于,所述定期验证步骤包括:对比参考链上两次保存的时间差,若时间差大于设定阈值,则判定为异常。
3.如权利要求1所述的区块链可信验证方法,其特征在于,所述主链的当前区块信息包括当前区块hash以及当前块高度。
4.如权利要求3所述的区块链可信验证方法,其特征在于,所述定期验证步骤包括:判断参考链上保存的区块hash是否存在于主链中,若不存在,则判定为异常。
5.如权利要求3所述的区块链可信验证方法,其特征在于,所述定期验证步骤包括:判断参考链上的区块高度与区块hash的映射对照关系是否与主链相应的对照关系是否匹配,若不匹配,则判定为异常。
6.如权利要求1、2、4、5任一所述的区块链可信验证方法,其特征在于,若在定期验证步骤中判断为异常,则将当前数据回滚到正确数据时间点上,丢弃中间异常数据。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至6中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至6中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811385076.5A CN109472600B (zh) | 2018-11-20 | 2018-11-20 | 一种区块链可信验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811385076.5A CN109472600B (zh) | 2018-11-20 | 2018-11-20 | 一种区块链可信验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109472600A CN109472600A (zh) | 2019-03-15 |
CN109472600B true CN109472600B (zh) | 2021-01-01 |
Family
ID=65673754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811385076.5A Active CN109472600B (zh) | 2018-11-20 | 2018-11-20 | 一种区块链可信验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109472600B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110189122B (zh) * | 2019-04-30 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 为区块链上的数据锚定时间的方法及装置、电子设备 |
CN113300837B (zh) * | 2021-04-25 | 2022-07-26 | 从法信息科技有限公司 | 一种基于区块证明的跨链验证方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169865A (zh) * | 2017-04-24 | 2017-09-15 | 北京果仁宝科技有限公司 | 基于区块链技术的资产数据处理系统 |
WO2017177260A1 (en) * | 2016-04-13 | 2017-10-19 | Haventec Pty Ltd | System of security using blockchain protocol |
CN107276762A (zh) * | 2017-05-08 | 2017-10-20 | 飞天诚信科技股份有限公司 | 一种多协议区块链的工作方法及装置 |
CN107480559A (zh) * | 2017-08-25 | 2017-12-15 | 北京中星仝创科技有限公司 | 一种区块链离链数据的安全存储系统及方法 |
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9871775B2 (en) * | 2015-08-10 | 2018-01-16 | Cisco Technology, Inc. | Group membership block chain |
CN105488675B (zh) * | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
US10581841B2 (en) * | 2017-02-13 | 2020-03-03 | Zentel Japan Corporation | Authenticated network |
CN106789090B (zh) * | 2017-02-24 | 2019-12-24 | 陈晶 | 基于区块链的公钥基础设施系统及半随机联合证书签名方法 |
CN107944868A (zh) * | 2017-12-07 | 2018-04-20 | 杭州趣链科技有限公司 | 一种基于区块链智能合约的电子存证系统和管理方法 |
CN108306898B (zh) * | 2018-04-23 | 2021-02-05 | 北京奇宝科技有限公司 | 区块链攻击事件的感知方法、装置、计算设备及存储介质 |
CN108833081B (zh) * | 2018-06-22 | 2021-01-05 | 中国人民解放军国防科技大学 | 一种基于区块链的设备组网认证方法 |
-
2018
- 2018-11-20 CN CN201811385076.5A patent/CN109472600B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177260A1 (en) * | 2016-04-13 | 2017-10-19 | Haventec Pty Ltd | System of security using blockchain protocol |
CN107169865A (zh) * | 2017-04-24 | 2017-09-15 | 北京果仁宝科技有限公司 | 基于区块链技术的资产数据处理系统 |
CN107276762A (zh) * | 2017-05-08 | 2017-10-20 | 飞天诚信科技股份有限公司 | 一种多协议区块链的工作方法及装置 |
CN107480559A (zh) * | 2017-08-25 | 2017-12-15 | 北京中星仝创科技有限公司 | 一种区块链离链数据的安全存储系统及方法 |
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109472600A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102627490B1 (ko) | 스크립트 기반 블록체인 상호작용 | |
US11799660B2 (en) | Optimizations for verification of interactions system and method | |
US8959346B2 (en) | System and method for a single request—single response protocol with mutual replay attack protection | |
CA2731954C (en) | Apparatus, methods, and computer program products providing dynamic provable data possession | |
US11468044B2 (en) | Optimizations for verification of interactions system and method using probability density functions | |
CN106603561B (zh) | 一种云存储中的块级加密方法及多粒度去重复方法 | |
CN110163604B (zh) | 一种基于多方验证的区块链资产转移方法 | |
JP2006511877A (ja) | ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法 | |
CN108256354B (zh) | 一种基于试验数据的存储方法及存储介质 | |
CN111641712A (zh) | 区块链数据更新方法、装置、设备、系统及可读存储介质 | |
CN113656780B (zh) | 一种跨链访问控制方法和装置 | |
CN112347521A (zh) | 一种基于医疗区块链的医疗数据管理方法及系统 | |
CN109472600B (zh) | 一种区块链可信验证方法及装置 | |
CN113536956B (zh) | 一种多媒体数据篡改检测的方法 | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
CN115659417A (zh) | 审计日志存储方法、验证方法、装置和计算机设备 | |
CN111641496A (zh) | 区块链数据更新方法、装置、设备、系统及可读存储介质 | |
CN114402352A (zh) | 用于追踪并测量矿池中工作量证明贡献的方法和装置 | |
CN116192850A (zh) | 一种基于区块链与秘密共享的物联网隐私数据分布式存储方法与系统 | |
CN111444270B (zh) | 基于区块链的控制有害信息的方法及系统 | |
Zhang et al. | PTAD: Provable and traceable assured deletion in cloud storage | |
CN112948847B (zh) | 基于区块链的数据共享系统及数据正确性验证方法 | |
CN115357932B (zh) | 一种基于区块链技术的跨链安全存储的方法及装置 | |
CN111199044B (zh) | 数据存储方法、装置以及存储介质 | |
CN115150164B (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 |