CN117155553A - 一种存证方法、装置、介质和设备 - Google Patents

一种存证方法、装置、介质和设备 Download PDF

Info

Publication number
CN117155553A
CN117155553A CN202311060258.6A CN202311060258A CN117155553A CN 117155553 A CN117155553 A CN 117155553A CN 202311060258 A CN202311060258 A CN 202311060258A CN 117155553 A CN117155553 A CN 117155553A
Authority
CN
China
Prior art keywords
block
transaction
chain
ith block
certification
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
Application number
CN202311060258.6A
Other languages
English (en)
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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN202311060258.6A priority Critical patent/CN117155553A/zh
Publication of CN117155553A publication Critical patent/CN117155553A/zh
Pending legal-status Critical Current

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • 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/40Network security protocols
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及电子证据技术领域,尤其涉及一种存证方法、装置、介质和设备。其中,方法包括:注册于主链上的子链生成第i区块;主链用于为权威机构提供存证信息的验证;子链基于证明秘钥生成第i区块的可信证明;验证密钥存储在主链中;子链将第i区块的存证信息发送至主链;主链用于在验证密钥验证通过第i区块的可信证明后存储第i区块的存证信息;第i区块的存证信息包括第i区块的公开信息和第i区块的可信证明。在上述方式中,子链注册在主链上,权威机构只需要接入主链,就可以获取到存证信息,不需要重复接入各个子链,简化了权威机构存证信息获取的流程。提高了交易存证的便捷度。

Description

一种存证方法、装置、介质和设备
技术领域
本申请涉及电子证据技术领域,尤其涉及一种存证方法、装置、介质和设备。
背景技术
在金融案件民事诉讼中,涉及较多的将电子证据,因此在交易时,就应该将交易证据进行电子存证。
电子存证是指事先将业务流程、证据要素、按照存证标准规范化,将业务过程按照证据链的要求进行设置,业务发生时自动存证,形成主体、时间、过程、结果的逻辑关系。电子存证的范围包括电子邮件、电子数据交换(报文)、网上聊天记录、手机短信、电子签名、域名等。现有的存证架构中,各个金融机构都有自己独立的存证业务系统,但是,这些现有的存证系统都是单链模式,即一个存证系统部署一条区块链。那么在诉讼过程中若要对存证的交易进行获取,只能由司法机构一一接入这些区块链上的节点对证据进行获取,获取过程比较复杂。
基于此,目前亟需一种存证方法、装置、介质和设备,用于确保交易存证的便捷性。
发明内容
本申请实施例提供一种存证方法、装置、介质和设备,用于确保交易存证的便捷性。
第一方面,本申请实施例提供一种存证方法,所述方法包括:
注册于主链上的子链生成第i区块;所述第i区块中包括经所述子链校验后的多条存证交易;所述主链用于为权威机构提供存证信息的验证;
所述子链基于证明秘钥生成所述第i区块的可信证明;所述证明秘钥与验证秘钥是基于零知识证明的计算电路得到的;所述验证密钥存储在所述主链中;
所述子链将所述第i区块的存证信息发送至所述主链;所述主链用于在所述验证密钥验证通过所述第i区块的可信证明后存储所述第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明。
在上述方式中,子链注册在主链上,权威机构只需要接入主链,就可以获取到存证信息,不需要重复接入各个子链,简化了权威机构存证信息获取的流程。并且,不需要现有的子链将所有的交易1:1传至主链上,而是只需要生成一个可信证明,可信证明和公开信息作为存证信息一起传给主链,即可证明公开信息的合法真实,提高了交易存证的便捷度。
一种可能的实现方式中,所述第i区块的公开信息包括区块标识、区块指纹和存证交易的交易指纹;
所述子链基于证明秘钥生成所述第i区块的可信证明,包括:
所述子链将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为公共输入;
所述子链将每条存证交易的各存证字段和所述第i区块的区块数据作为所述秘密输入;
所述子链根据所述证明秘钥、所述公共输入和所述秘密输入生成所述第i区块的可信证明。
通过上述方式,将公开的信息作为公共输入,可以确保隐私信息不被泄漏,同时,结合一些比较私密的信息生成秘密输入,仅仅用来生成可信证明,而不会将秘密输入暴露,实现对存证信息的零知识证明。
一种可能的实现方式中,所述公共输入还包括存证交易的数据格式;和/或
所述秘密输入还包括随机字符串的哈希值;所述随机字符串是在生成区块时随机生成的。
在上述方式中,存证交易的数据格式是可以对外公布的,因此可以作为公共输入;而随机字符串的哈希值作为秘密输入,可以用来辅助确定存证信息没有被遗漏或者篡改。
一种可能的实现方式中,所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;
所述方法还包括:
所述子链接收交易证据的验证路径请求;所述验证路径请求中包括子链标识、区块标识和存证交易的标识;
所述子链从所述默克尔树中确定所述交易证据的验证路径。
在上述方式中,在默克尔树中可以确定验证路径,验证路径可以还原出根哈希,进而可以对交易数据进行验证。
第二方面,本申请实施例提供另一种存证方法,包括:
主链接收注册于所述主链上的子链发送的第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明;
所述主链通过所述第i区块的公开信息,确定进行零知识证明验证的公共输入;
所述主链基于验证密钥、所述公共输入对所述第i区块的可信证明进行验证并在验证通过后存储所述第i区块的存证信息;所述验证秘钥与存储于所述子链中的证明秘钥是基于零知识证明的计算电路得到的;所述第i区块的可信证明是基于所述证明秘钥生成的。
在上述方式中,主链接收子链发送的存证信息,并基于验证秘钥和可信证明对存证信息进行验证,不需要获取到完整的交易数据,即可以实现对存证信息的验证,确保存储的交易信息是完整且合法的。
一种可能的实现方式中,所述第i区块的公开信息包括子链标识、区块标识、区块指纹和存证交易的交易指纹;
所述主链通过所述第i区块的公开信息,确定进行零知识证明验证的公共输入,包括:
所述主链通过所述子链标识和所述区块标识,获取第i-1区块的区块指纹;
所述主链将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为进行零知识证明验证的公共输入。
一种可能的实现方式中,所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;
所述方法还包括:
权威机构获取用户提供的交易证据、子链标识、区块标识和验证路径,所述验证路径是由子链确定的;
从所述主链上找到所述子链标识和所述区块标识指示的交易指纹,并根据验证路径确定默克尔树的根哈希;
根据所述默克尔树的根哈希和所述交易指纹确定所述交易证据是否可信。
在上述方式中,权威机构可以根据用户提供的子链标识、区块标识去主链中查找默克尔树,进而根据验证路径确定交易数据对应的默克尔树的根哈希,而交易指纹其实也是在默克尔树中计算生成的,由此就可以通过比对交易数据对应的默克尔树的根哈希以及交易指纹来判断交易数据是否可信,不需要再去各个子链中获取交易数据,提高了证据获取的便捷性。
第三方面,本申请实施例提供一种存证装置,该装置包括:
存证模块,用于在注册于主链上的子链生成第i区块;所述第i区块中包括经所述子链校验后的多条存证交易;所述主链用于为权威机构提供存证信息的验证;
证明模块,用于生成所述第i区块的可信证明;所述证明秘钥与验证秘钥是基于零知识证明的计算电路得到的;所述验证密钥存储在所述主链中;
发送模块,用于将所述第i区块的存证信息发送至所述主链;所述主链用于在所述验证密钥验证通过所述第i区块的可信证明后存储所述第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明。
一种可能的实现方式中,所述第i区块的公开信息包括区块标识、区块指纹和存证交易的交易指纹;
所述证明模块,具体用于将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为公共输入;将每条存证交易的各存证字段和所述第i区块的区块数据作为所述秘密输入;根据所述证明秘钥、所述公共输入和所述秘密输入生成所述第i区块的可信证明。
一种可能的实现方式中,所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;
所述装置还包括请求模块,用于接收交易证据的验证路径请求;并从所述默克尔树中确定所述交易证据的验证路径;所述验证路径请求中包括子链标识、区块标识和存证交易的标识;
第四方面,本申请实施例提供另一种存证装置,该装置包括:
存证模块,用于在注册于主链上的子链生成第i区块;所述第i区块中包括经所述子链校验后的多条存证交易;所述主链用于为权威机构提供存证信息的验证;
证明模块,用于生成所述第i区块的可信证明;所述证明秘钥与验证秘钥是基于零知识证明的计算电路得到的;所述验证密钥存储在所述主链中;
发送模块,用于将所述第i区块的存证信息发送至所述主链;所述主链用于在所述验证密钥验证通过所述第i区块的可信证明后存储所述第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明。
一种可能的实现方式中,所述第i区块的公开信息包括区块标识、区块指纹和存证交易的交易指纹;
所述证明模块,具体用于将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为公共输入;将每条存证交易的各存证字段和所述第i区块的区块数据作为所述秘密输入;根据所述证明秘钥、所述公共输入和所述秘密输入生成所述第i区块的可信证明。
一种可能的实现方式中,所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;
所述装置还包括请求模块,用于接收交易证据的验证路径请求;并从所述默克尔树中确定所述交易证据的验证路径;所述验证路径请求中包括子链标识、区块标识和存证交易的标识。
第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序被运行时,执行上述第一方面中任一项方法。
第六方面,本申请实施例提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项设计中的方法。
第七方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在处理器上运行时,实现如上述第一方面中任一项设计中的方法。
上述第四方面至第七方面的有益效果,具体可参照上述第一、二方面任一项设计可达到的有益效果,此处不再赘述。
附图说明
图1示例性示出本申请实施例提供的一种系统架构示意图;
图2示例性示出本申请实施例提供的一种存证方法的流程示意图;
图3示例性示出本申请实施例提供的一种可信证明生成方法的流程示意图;
图4示例性示出本申请实施例提供的一种存证方法的流程示意图;
图5示例性地示出了本申请实施例提供的一种交易指纹的计算流程示意图;
图6示例性示出本申请实施例提供的一种获取证据的方法流程示意图;
图7示例性地示出本申请实施例提供的一种存证装置示意图;
图8示例性地示出本申请实施例提供的一种存证装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
电子存证是指事先将业务流程、证据要素、按照存证标准规范化,将业务过程按照证据链的要求进行设置,业务发生时自动存证,形成主体、时间、过程、结果的逻辑关系。范围包括电子邮件、电子数据交换(报文)、网上聊天记录、手机短信、电子签名、域名等。在一种具体的产品中,存证系统记录的信息包括客户身份认证信息、授信信息、借款信息、合同信息、放款信息、还款信息等,据此,可以形成可视化的证据链。
在现有的存证架构中,各个金融机构都有自己独立的存证业务系统,这些存证业务系统有的部署在机构自己的私有链中,有的部署在联盟链中。在一些互联网厂商中,例如蚂蚁、百度、腾讯等,都提供自己的区块链存证服务。但是,这些现有的存证系统都是单链模式,即一个存证系统部署一条区块链。那么在诉讼过程中若要对存证的交易进行获取,只能由司法机构一一接入这些区块链上的节点对证据进行获取。并且,无法保证存储在各个区块链上的证据均是合法有效的,并且符合证据链的规则。
因此,可以考虑将各个机构的证据均存储在一个统一的链上,但是这种方式要求各个机构均放弃自己的私有链,转而使用统一链进行存储,此种方式实现起来是不现实的。
基于此,本申请提供了一种存证方法,用于对交易进行统一存证。
图1示例性示出本申请实施例提供的一种系统架构示意图,如图1所示的架构中包括1个主链和2个子链,子链的数量不受限制,此处为了说明简单,仅仅示出2个子链。这2个子链注册在主链的节点31上和节点32上。对应的在子链上也有特定的节点用于和主链相连。在子链1中,和主链相连的节点为节点11,在子链2中,和主链相连的节点为节点21。应理解,子链上还有众多其他的节点,用于接收业务数据,处理交易等。或者子链本身就是一个联盟链,其他的各个节点接入的是各个交易数据提供方。
在主链上,包括至少一个节点用于接入权威机构,权威机构可以获取主链上各个节点的信息。因此,在各个节点上的存证交易,权威机构均可以获得,以降低存证交易获取的难度,以及真伪验证的难度。
基于上述架构,图2示例性示出本申请实施例提供的一种存证方法的流程示意图,如图2所示,该方法包括:
步骤201,注册于主链上的子链生成第i区块;第i区块中包括经子链校验后的多条存证交易。主链用于为权威机构提供存证信息的验证。
其中,子链是预先注册到区块链上的,注册方式将在下面的步骤中介绍。在子链中,一个包括存证交易的区块生成之后,可以被监听到,之后,便对新生成的这个区块中的存证交易进行处理。接入主链的权威机构可以对存证信息进行验证。
步骤202,子链基于证明秘钥生成第i区块的可信证明;证明秘钥与验证秘钥是基于零知识证明的计算电路得到的;验证密钥存储在主链中。
零知识证明电路指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。基于零知识证明电路可以生成证明秘钥和验证秘钥,将证明秘钥传输给子链,将验证秘钥传输给主链。由此可以实现,子链对存证交易进行证明,主链对存证交易进行验证。
如下展示的即为一种零知识证明算法:
KeyGen(1λ,C)→(pk,vk)
其中,KeyGen为零知识证明算法,C是零知识证明电路,λ是安全参数,基于KeyGen(1λ,C)可以生成证明秘钥pk以及验证秘钥vk。
步骤203,子链将第i区块的存证信息发送至主链;主链用于在验证密钥验证通过第i区块的可信证明后存储第i区块的存证信息;第i区块的存证信息包括第i区块的公开信息和第i区块的可信证明。
在此步骤中,主链需要通过验证秘钥对可信证明进行验证,由于可信证明是基于证明秘钥生成的,而验证秘钥和证明秘钥是基于同一零知识证明电路生成的,因此,当对可信证明验证通过之后,就可以说明存证交易符合零知识证明电路的要求。因此,主链可以将存证交易对应的存证信息存储。
通过上述方式,可以将子链上的存证交易存储在主链上,并且,在过程中证明了子链存证信息的合法性,主链也可以对其进行验证。在不暴露存证交易隐私信息的情况下,主链获取到了完整且合法的存证交易,进而可以提供给权威机构进行取证。
在子链连接到主链时,需要在主链上进行注册。在注册时,主链的管理员向子链获取子链唯一标识、子链的创世块哈希、子链存证交易的数据格式以及验证秘钥。在接收到这个信息之后,为子链进行注册,之后,子链才能合法的向主链提交存证交易。
下面介绍子链基于证明秘钥生成第i区块的可信证明的方法:图3示例性示出本申请实施例提供的一种可信证明生成方法的流程示意图,如图3所示,该方法包括:
步骤301,子链将第i区块的存证交易的交易指纹、第i区块的区块指纹以及第i-1区块的区块指纹作为公共输入。
其中将交易指纹可以是对存证字段进行哈希运算获得的。
一种可能的实现方式中,存证字段包括交易数据、时间戳和存证者,交易数据可以为明文数据也可以为密文数据,将交易数据、时间戳和存证者分别放置在默克尔树的叶子节点上,对其进行哈希运算,得到根哈希值,即可以作为交易指纹。
另一种可能的实现方式中,存证字段可以抽象为其中,DF代表交易数据,l表示存证字段中字段的个数,j表示第j条存证交易,i表示存证交易所在的区块。在上一个实现方式中,l=3,/> 应理解,此处的交易数据、时间戳和存证者均为具体的值,比如,交易数据为10098873796875776476476;时间戳为1675418962,表示2023年2月3日18点09分22秒,存证者为用户A。
图5示例性地示出了本申请实施例提供的一种交易指纹的计算流程示意图,如图5所示,首先将各个字段输入叶子节点中,图5中的DF11、DF12、DF13、DF14为存证字段(上述示例中仅有3个:交易数据、时间戳和存证者),此处的叶子节点有4个L1、L2、L3、L4,L1在图5中展示为DF11||DF12||DF13||DF14,说明有4个存证交易对4个叶子节点进行2次哈希运算,得到根哈希,并且,针对每个叶子节点都记录了它的验证路径。
例如,叶子节点DF11||DF12||DF13||DF14的验证路径中记录的应该是Hash0-1和Hash1,根据Hash0-1可以计算得到Hash0,再根据Hash0和Hash1可以得Top hash,由此,只要知道各个交易字段以及交易路径,就可以计算得到top hash。这种记录方式,可以使用最少的数据还原出根哈希,由此,可以使用在取证验证的过程中。
需要说明的是,对于一个区块而言,可能包括多条存证交易,一个存证交易中包含多个存证字段。可以每次以一个区块为单位对存证交易进行存储。
区块指纹可以是对区块进行哈希运算获得的。公共输入中,包含第i区块的区块指纹以及第i-1区块的区块指纹,是由于可以通过判断区块的连续性,来确定存证交易的完整性,没有遗漏或者被篡改。
如下展示了一种公共输入的表现形式:
x=(blockhashi,blockhashi-1,Di,schema)
其中,blockhashi表示第i区块的区块指纹,blockhashi-1表示第i-1区块的区块指纹,Di表示第i区块的存证交易的交易指纹,而schema为存证字段的数据格式,在上述的例子中,schema即为交易数据、时间戳和存证者仅仅包含名称,但是不含具体的值。因此,可以作为公开的信息。
步骤302,子链将每条存证交易的各存证字段和第i区块的区块数据作为秘密输入;
在上述步骤303中介绍了存证字段,在存证字段进行哈希运算之前,存证字段属于不可以对外公开的信息,只有子链可以获取到,不能直接暴露在主链上。同样的,区块数据也是子链上的不能对外公开的信息,因此,也可以将第i区块的区块数据作为秘密输入。
如下展示了一种秘密输入的表现形式:
其中,表示存证字段,此处的存证字段表示具体的存证字段的值,blockdata表示区块数据,nonce是区块中的随机数,用于计算区块哈希。
步骤303,子链根据证明秘钥、公共输入和秘密输入生成第i区块的可信证明。
一种可能的实现方式中,可以通过prove算法生成可信证明,即:
Prove(pk,x,w)→π
其中,pk为证明秘钥,x为公共输入,w为秘密输入,π为可信证明。在使用上述算法生成可信证明的过程中,只需要证明公共输和秘密输入满足以下条件:
blockhashi=Hash(blockhashi-1||nonce||blockdata)……(2)
即证明,(1)交易指纹Di等于区块i中所有存证交易的存证字段组成的默克尔树的根哈希值;(2)第i个区块的哈希值等于第i-1个区块的哈希值、区块数据和nonce拼接后的哈希值;(3)存证字段包含在区块数据中;(4)存证字段符合数据格式。
若公共输入和秘密输入满足以上4个约束条件,即可以生成一个可信证明π。
一种可能的实现方式中,可以在图1所示的架构中设置一个打包者,和子链与主链相连,每个子链可以部署一个或多个打包者,打包者用于打包子链的存证交易,并生成零知识证明,之后将打包后的存证交易提交到主链上。
在上述步骤203中,子链将第i区块存证信息发送给主链,第i区块存证信息中包括第i区块的公开信息和第i区块的可信证明。下面基于主链介绍另一种存证方法,图4示例性示出本申请实施例提供的一种存证方法的流程示意图,如图4所示,该方法包括:
步骤401,主链接收注册于主链上的子链发送的第i区块的存证信息;第i区块的存证信息包括第i区块的公开信息和第i区块的可信证明。
示例性地,公开信息包括子链标识、区块标识、区块指纹和存证交易的交易指纹。如下展示了一种公开信息:
公开信息=(子链标识,区块标识,区块指纹,交易指纹,可信证明)
步骤402,主链通过第i区块的公开信息,确定进行零知识证明验证的公共输入。
示例性地,主链通过子链标识和区块标识,获取第i-1区块的区块指纹,并将第i区块的存证交易的交易指纹、第i区块的区块指纹以及第i-1区块的区块指纹作为进行零知识证明验证的公共输入。
步骤403,主链基于验证密钥、公共输入对第i区块的可信证明进行验证并在验证通过后存储第i区块的存证信息。
其中验证秘钥是在上述步骤中和证明秘钥一起基于零知识证明电路得到的。示例性的主链可以通过如下算法进行验证:
Verify(vk,x,π)→b
其中,Verify是验证算法,vk是验证秘钥,x为公共输入,π为零知识证明,通过Verify算法,计算得出b,如果b=1,则验证通过。
通过上述验证算法,实际上是证明了子链上区块中的每一笔存证交易的数据都是存在于原来子链上的存证交易,没有被篡改或者没有被遗漏。
至此,位于子链上的存证交易存储到了主链上。
下面介绍权威机构基于上述存取证的流程获取证据的方法:
图6示例性示出本申请实施例提供的一种获取证据的方法流程示意图,如图6所示,该方法包括:
步骤601,子链接收用户提交的交易证据的验证路径请求;验证路径请求中包括区块标识和存证交易的标识。
在用户需要向权威机构提供证据时,用户向子链中的打包者提交验证路径请求。
步骤602,子链从默克尔树中确定交易证据的验证路径,并发送给用户;子链根据区块标识找到对应的默克尔树,进而确定验证路径,具体的验证路径可以参照上述关于图5的介绍,在此不再赘述。
步骤603,用户将交易证据、子链标识、区块标识和验证路径发送给权威机构;
步骤604,权威机构获取用户提供的交易证据、子链标识、区块标识和验证路径后,从主链上找到子链标识和区块标识指示的交易指纹。
根据用户提交的子链标识,可以确定交易证据所在的子链,之后根据区块标识可以确定交易证据所在的区块,进而确定交易指纹。
步骤605,权威机构根据验证路径确定默克尔树的根哈希,并根据所述默克尔树的根哈希和所述交易指纹确定所述交易证据是否可信。
之后,将这个根哈希和交易指纹进行对比,若一致,则说明用户提交的交易证据可信,若不一致,则说明用户提交的交易证据不可信。
上述过程,具体可以参照如下公式进行计算:
MT.verify(MRH,data,authpath)
其中MRH是交易指纹,data是交易证据,authpath是验证路径。
基于相同的技术构思,本申请实施例还提供了一种存证装置。图7示例性地示出本申请实施例提供的一种存证装置示意图,该装置可以执行图2所述存证装置方法,如图7所示,该装置包括:
存证模块,用于在注册于主链上的子链生成第i区块;所述第i区块中包括经所述子链校验后的多条存证交易;所述主链用于为权威机构提供存证信息的验证;
证明模块,用于生成所述第i区块的可信证明;所述证明秘钥与验证秘钥是基于零知识证明的计算电路得到的;所述验证密钥存储在所述主链中;
发送模块,用于将所述第i区块的存证信息发送至所述主链;所述主链用于在所述验证密钥验证通过所述第i区块的可信证明后存储所述第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明。
一种可能的实现方式中,所述第i区块的公开信息包括区块标识、区块指纹和存证交易的交易指纹;
所述证明模块,具体用于将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为公共输入;将每条存证交易的各存证字段和所述第i区块的区块数据作为所述秘密输入;根据所述证明秘钥、所述公共输入和所述秘密输入生成所述第i区块的可信证明。
一种可能的实现方式中,所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;
所述装置还包括请求模块,用于接收交易证据的验证路径请求;并从所述默克尔树中确定所述交易证据的验证路径;所述验证路径请求中包括子链标识、区块标识和存证交易的标识。
基于相同的技术构思,本申请实施例还提供了一种存证装置。图8示例性地示出本申请实施例提供的一种存证装置示意图,该装置可以执行图4所述存证装置方法,如图8所示,该装置包括:
接收模块,用于接收注册于所述主链上的子链发送的第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明;
确定模块,用于通过所述第i区块的公开信息,确定进行零知识证明验证的公共输入;
验证模块,用于基于验证密钥、所述公共输入对所述第i区块的可信证明进行验证并在验证通过后存储所述第i区块的存证信息;所述验证秘钥与存储于所述子链中的证明秘钥是基于零知识证明的计算电路得到的;所述第i区块的可信证明是基于所述证明秘钥生成的。
一种可能的实现方式中,所述第i区块的公开信息包括子链标识、区块标识、区块指纹和存证交易的交易指纹;
所述验证模块,具体用于通过所述子链标识和所述区块标识,获取第i-1区块的区块指纹;将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为进行零知识证明验证的公共输入。
一种可能的实现方式中,所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;所述装置还包括查询模块,用于:获取用户提供的交易指纹、交易证据、子链标识、区块标识和验证路径,所述验证路径是由子链确定的;从所述主链上找到所述子链标识和所述区块标识指示的默克尔树,并根据验证路径确定默克尔树的根哈希;以及根据所述默克尔树的根哈希和所述交易指纹确定所述交易证据是否可信。
基于相同的技术构思,本发明实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现上述实施例中所示的方法。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述实施例中所示的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,当所述计算机程序产品在处理器上运行时,实现上述实施例中所示的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种存证方法,其特征在于,所述方法包括:
注册于主链上的子链生成第i区块;所述第i区块中包括经所述子链校验后的多条存证交易;所述主链用于为权威机构提供存证信息的验证;
所述子链基于证明秘钥生成所述第i区块的可信证明;所述证明秘钥与验证秘钥是基于零知识证明的计算电路得到的;所述验证密钥存储在所述主链中;
所述子链将所述第i区块的存证信息发送至所述主链;所述主链用于在所述验证密钥验证通过所述第i区块的可信证明后存储所述第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明。
2.如权利要求1所述的方法,其特征在于,所述第i区块的公开信息包括区块标识、区块指纹和存证交易的交易指纹;
所述子链基于证明秘钥生成所述第i区块的可信证明,包括:
所述子链将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为公共输入;
所述子链将每条存证交易的各存证字段和所述第i区块的区块数据作为所述秘密输入;
所述子链根据所述证明秘钥、所述公共输入和所述秘密输入生成所述第i区块的可信证明。
3.如权利要求2所述的方法,其特征在于
所述公共输入还包括存证交易的数据格式;和/或
所述秘密输入还包括随机字符串的哈希值;所述随机字符串是在生成区块时随机生成的。
4.如权利要求1-3任一项所述的方法,其特征在于,所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;
所述方法还包括:
所述子链接收交易证据的验证路径请求;所述验证路径请求中包括子链标识、区块标识和存证交易的标识;
所述子链从所述默克尔树中确定所述交易证据的验证路径。
5.一种存证方法,其特征在于,包括:
主链接收注册于所述主链上的子链发送的第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明;
所述主链通过所述第i区块的公开信息,确定进行零知识证明验证的公共输入;
所述主链基于验证密钥、所述公共输入对所述第i区块的可信证明进行验证并在验证通过后存储所述第i区块的存证信息;所述验证秘钥与存储于所述子链中的证明秘钥是基于零知识证明的计算电路得到的;所述第i区块的可信证明是基于所述证明秘钥生成的。
6.如权利要求5所述的方法,其特征在于
所述第i区块的公开信息包括子链标识、区块标识、区块指纹和存证交易的交易指纹;
所述主链通过所述第i区块的公开信息,确定进行零知识证明验证的公共输入,包括:
所述主链通过所述子链标识和所述区块标识,获取第i-1区块的区块指纹;
所述主链将所述第i区块的存证交易的交易指纹、所述第i区块的区块指纹以及第i-1区块的区块指纹作为进行零知识证明验证的公共输入。
7.如权利要求5或6所述的方法,其特征在于,
所述第i区块的存证交易的交易指纹为由所述第i区块的存证交易生成的默克尔树的根哈希;
所述方法还包括:
权威机构获取用户提供的交易证据、子链标识、区块标识和验证路径,所述验证路径是由子链确定的;
从所述主链上找到所述子链标识和所述区块标识指示的交易指纹,并根据验证路径确定所述默克尔树的根哈希;
根据所述默克尔树的根哈希和所述交易指纹确定所述交易证据是否可信。
8.一种存证装置,其特征在于,包括:
存证模块,用于在注册于主链上的子链生成第i区块;所述第i区块中包括经所述子链校验后的多条存证交易;所述主链用于为权威机构提供存证信息的验证;
证明模块,用于生成所述第i区块的可信证明;所述证明秘钥与验证秘钥是基于零知识证明的计算电路得到的;所述验证密钥存储在所述主链中;
发送模块,用于将所述第i区块的存证信息发送至所述主链;所述主链用于在所述验证密钥验证通过所述第i区块的可信证明后存储所述第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明。
9.一种存证装置,其特征在于,包括:
接收模块,用于接收注册于所述主链上的子链发送的第i区块的存证信息;所述第i区块的存证信息包括所述第i区块的公开信息和所述第i区块的可信证明;
确定模块,用于通过所述第i区块的公开信息,确定进行零知识证明验证的公共输入;
验证模块,用于基于验证密钥、所述公共输入对所述第i区块的可信证明进行验证并在验证通过后存储所述第i区块的存证信息;所述验证秘钥与存储于所述子链中的证明秘钥是基于零知识证明的计算电路得到的;所述第i区块的可信证明是基于所述证明秘钥生成的。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1至7中任一项所述的方法。
11.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至7中任一项权利要求所述的方法。
CN202311060258.6A 2023-08-21 2023-08-21 一种存证方法、装置、介质和设备 Pending CN117155553A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311060258.6A CN117155553A (zh) 2023-08-21 2023-08-21 一种存证方法、装置、介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311060258.6A CN117155553A (zh) 2023-08-21 2023-08-21 一种存证方法、装置、介质和设备

Publications (1)

Publication Number Publication Date
CN117155553A true CN117155553A (zh) 2023-12-01

Family

ID=88911162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311060258.6A Pending CN117155553A (zh) 2023-08-21 2023-08-21 一种存证方法、装置、介质和设备

Country Status (1)

Country Link
CN (1) CN117155553A (zh)

Similar Documents

Publication Publication Date Title
CN108777684B (zh) 身份认证方法、系统及计算机可读存储介质
WO2020088108A1 (zh) 基于区块链的数据存证方法及装置、电子设备
US11550935B2 (en) Method, apparatus, and electronic device for blockchain-based recordkeeping
US10958438B2 (en) Method, apparatus, and electronic device for blockchain-based recordkeeping
CN112507391B (zh) 基于区块链的电子签章方法、系统、装置及可读存储介质
TW202203062A (zh) 基於區塊鏈的身份驗證方法及相關硬體
CN113010861B (zh) 一种基于区块链的融资事务中的身份验证方法和系统
CN111460457A (zh) 不动产权登记监管方法、装置、电子设备及存储介质
CN112291062B (zh) 一种基于区块链的投票方法及装置
CN114785511A (zh) 证明生成方法及装置、电子设备、存储介质
WO2022206433A1 (zh) 一种在Fabric区块链中预执行链码的方法和装置
CN108540447A (zh) 一种基于区块链的证书验证方法及系统
CN113326535B (zh) 一种信息验证方法及装置
CN114389810A (zh) 证明生成方法及装置、电子设备、存储介质
CN113901424A (zh) 一种数字身份属性的选择性披露方法和装置
CN114329610A (zh) 区块链隐私身份保护方法、装置、存储介质及系统
CN117155553A (zh) 一种存证方法、装置、介质和设备
CN113326527A (zh) 一种基于区块链的可信数字签名系统及方法
CN117421782B (zh) 一种档案签名、完整性检测、追踪方法和装置
CN115186286B (zh) 模型处理方法、装置、设备、可读存储介质及程序产品
CN116975936B (zh) 金融资质证明方法、金融资质验证方法
CN113765875B (zh) 一种数据验证信息的反馈方法和装置
CN117478333A (zh) 证书的智能验证方法、装置、设备及存储介质
CN117370952A (zh) 基于区块链的多重节点身份验证方法及装置
CN116566615A (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