CN119995886A - 一种基于区块链的数据处理方法、设备以及可读存储介质 - Google Patents
一种基于区块链的数据处理方法、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN119995886A CN119995886A CN202311507734.4A CN202311507734A CN119995886A CN 119995886 A CN119995886 A CN 119995886A CN 202311507734 A CN202311507734 A CN 202311507734A CN 119995886 A CN119995886 A CN 119995886A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- account
- key
- contract
- verification
- 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
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例提供了一种基于区块链的数据处理方法、设备以及可读存储介质,该方法包括:在资源客户端中生成针对密码信息的零知识证明;向区块链中的区块链节点发送密钥恢复请求;密钥恢复请求包括零知识证明和合约地址;在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息;根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求;区块链节点用于根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果;若校验结果指示校验成功,则区块链节点确定更新区块链账户和更新密码信息恢复成功。采用本申请,可以实现更新区块链账户的恢复,提高区块链账户的安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于区块链的数据处理方法、设备以及可读存储介质。
背景技术
现有的区块链账户可以包括区块链公钥和区块链私钥,区块链私钥可以用于对交易数据进行签名处理,区块链公钥可以用于对交易数据进行验签处理。然而,若区块链私钥丢失,则无法通过区块链私钥对交易数据进行签名处理,从而会导致区块链账户的丢失,降低了区块链账户的安全性。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、设备以及可读存储介质,可以实现更新区块链账户的恢复,提高区块链账户的安全性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
在资源客户端中生成针对密码信息的零知识证明;密码信息用于证明资源客户端所属的终端设备对区块链私钥的控制权;区块链私钥属于在资源客户端中所生成的区块链账户;
向区块链中的区块链节点发送密钥恢复请求;密钥恢复请求包括零知识证明和合约地址;区块链节点用于调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果;若验证结果指示验证成功,则区块链节点用于记录密钥恢复请求具有恢复权限;抽象账户智能合约是终端设备部署在区块链上;
在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息;更新区块链账户包括更新区块链私钥;更新密码信息用于证明终端设备对更新区块链私钥的控制权;
根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求;区块链节点用于根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果;若校验结果指示校验成功,则区块链节点确定更新区块链账户和更新密码信息恢复成功。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
证明生成模块,用于在资源客户端中生成针对密码信息的零知识证明;密码信息用于证明资源客户端所属的终端设备对区块链私钥的控制权;区块链私钥属于在资源客户端中所生成的区块链账户;
恢复请求发送模块,用于向区块链中的区块链节点发送密钥恢复请求;密钥恢复请求包括零知识证明和合约地址;区块链节点用于调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果;若验证结果指示验证成功,则区块链节点用于记录密钥恢复请求具有恢复权限;抽象账户智能合约是终端设备部署在区块链上;
账户生成模块,用于在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息;更新区块链账户包括更新区块链私钥;更新密码信息用于证明终端设备对更新区块链私钥的控制权;
修改请求发送模块,用于根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求;区块链节点用于根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果;若校验结果指示校验成功,则区块链节点确定更新区块链账户和更新密码信息恢复成功。
其中,装置还包括:
凭证生成模块,用于根据资源客户端中的区块链账户和区块链账户对应的密码信息,在资源客户端中生成区块链账户对应的私钥恢复凭证;
部署请求发送模块,用于向区块链中的区块链节点发送合约部署请求;合约部署请求包括私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;区块链节点用于创建合约部署代码对应的抽象账户智能合约;区块链节点还用于对区块链地址和私钥恢复凭证进行存储;私钥恢复凭证用于对零知识证明进行验证;
结果接收模块,用于接收区块链节点返回的合约部署结果;合约部署结果包括抽象账户智能合约对应的合约地址。
其中,凭证生成模块,具体用于对资源客户端中的区块链账户对应的区块链地址和区块链账户对应的密码信息进行拼接,生成拼接字符串;
凭证生成模块,具体用于在资源客户端对拼接字符串进行哈希处理,生成区块链账户对应的私钥恢复凭证。
其中,证明生成模块,具体用于在资源客户端中获取密钥信息、公开参数和隐私参数;密钥信息包括证明密钥和验证密钥;公开参数包括私钥恢复凭证;隐私参数包括密码信息;证明密钥和验证密钥是在资源客户端中所生成;
证明生成模块,具体用于根据密钥信息、公开参数和隐私参数,生成针对密码信息的零知识证明。
其中,修改请求发送模块,具体用于根据更新区块链账户和更新密码信息,在资源客户端中生成更新区块链账户对应的更新私钥恢复凭证;
修改请求发送模块,具体用于在资源客户端中获取更新密钥信息、更新公开参数和更新隐私参数;更新密钥信息包括更新证明密钥和更新验证密钥;更新公开参数包括更新私钥恢复凭证;更新隐私参数包括更新密码信息;更新证明密钥和更新验证密钥是在资源客户端中所生成;
修改请求发送模块,具体用于根据更新密钥信息、更新公开参数和更新隐私参数,生成针对更新密码信息的更新零知识证明;
修改请求发送模块,具体用于向区块链节点发送密钥修改请求;密钥修改请求包括更新验证密钥、更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址。
其中,部署请求发送模块,具体用于在资源客户端中生成合约部署信息,通过区块链私钥对合约部署信息进行签名处理,得到合约部署信息对应的终端签名信息;合约部署信息包括私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;
部署请求发送模块,具体用于将终端签名信息和合约部署信息确定为合约部署操作,向区块链中的区块链节点发送携带合约部署操作的合约部署请求。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
接收终端设备发送的密钥恢复请求;密钥恢复请求包括针对密码信息的零知识证明和合约地址;零知识证明是终端设备在资源客户端中所生成;密码信息用于证明终端设备对区块链私钥的控制权;区块链私钥属于终端设备在资源客户端中所生成的区块链账户;
调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果,若验证结果指示验证成功,则记录密钥恢复请求具有恢复权限;抽象账户智能合约是终端设备部署在区块链上;
接收终端设备发送的密钥修改请求;密钥修改请求是终端设备根据更新区块链账户和更新区块链账户对应的更新密码信息所发送;更新区块链账户和更新密码信息是终端设备在资源客户端中所生成;更新区块链账户包括更新区块链私钥;更新密码信息用于证明终端设备对更新区块链私钥的控制权;
根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果,若校验结果指示校验成功,则确定更新区块链账户和更新密码信息恢复成功。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
恢复请求接收模块,用于接收终端设备发送的密钥恢复请求;密钥恢复请求包括针对密码信息的零知识证明和合约地址;零知识证明是终端设备在资源客户端中所生成;密码信息用于证明终端设备对区块链私钥的控制权;区块链私钥属于终端设备在资源客户端中所生成的区块链账户;
验证模块,用于调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果,若验证结果指示验证成功,则记录密钥恢复请求具有恢复权限;抽象账户智能合约是终端设备部署在区块链上;
修改请求接收模块,用于接收终端设备发送的密钥修改请求;密钥修改请求是终端设备根据更新区块链账户和更新区块链账户对应的更新密码信息所发送;更新区块链账户和更新密码信息是终端设备在资源客户端中所生成;更新区块链账户包括更新区块链私钥;更新密码信息用于证明终端设备对更新区块链私钥的控制权;
校验模块,用于根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果,若校验结果指示校验成功,则确定更新区块链账户和更新密码信息恢复成功。
其中,装置还包括:
部署请求接收模块,用于接收终端设备发送的合约部署请求;合约部署请求包括资源客户端中的区块链账户对应的私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;私钥恢复凭证是终端设备根据区块链账户和区块链账户对应的密码信息在资源客户端中所生成;
合约创建模块,用于创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储;私钥恢复凭证用于对零知识证明进行验证;
结果返回模块,用于根据抽象账户智能合约对应的合约地址生成合约部署结果,向终端设备返回合约部署结果。
其中,密钥恢复请求还包括验证密钥;验证密钥是终端设备在资源客户端中生成零知识证明时所生成;
验证模块,具体用于调用合约地址对应的抽象账户智能合约获取验证密钥和公开参数;公开参数包括私钥恢复凭证;
验证模块,具体用于通过验证密钥和公开参数对零知识证明进行验证,得到验证结果;
验证模块,还具体用于将验证结果返回至终端设备;若验证结果指示验证成功,则终端设备用于发送密钥修改请求。
其中,密钥修改请求包括更新验证密钥、针对更新密码信息的更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址;更新零知识证明和更新验证密钥是终端设备在资源客户端中所生成;更新私钥恢复凭证是终端设备根据更新区块链账户和更新密码信息在资源客户端中所生成;
校验模块,具体用于确定具有恢复权限的密钥恢复请求对应的第一时间戳和接收密钥修改请求的第二时间戳之间的时间间隔;
校验模块,具体用于根据时间间隔和时间周期阈值,生成候选校验结果;
校验模块,具体用于若候选校验结果指示校验成功,则调用合约地址对应的抽象账户智能合约获取更新验证密钥和更新公开参数;更新公开参数包括更新私钥恢复凭证;
校验模块,具体用于通过更新验证密钥和更新公开参数对更新零知识证明进行验证,得到校验结果;
校验模块,还具体用于若校验结果指示校验成功,则对更新区块链地址和更新私钥恢复凭证进行存储。
其中,合约部署请求包括合约部署操作;
装置还包括:
上链模块,用于将合约部署操作打包为交易数据,对交易数据进行签名处理,得到交易数据对应的节点签名信息;
上链模块,用于对交易数据和节点签名信息进行上链处理,得到上链结果;
上链模块,用于若上链结果指示上链成功,则执行创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储的步骤。
其中,合约部署操作包括合约部署信息和合约部署信息对应的终端签名信息;终端签名信息是终端设备通过区块链私钥对合约部署信息进行签名处理所得到;合约部署信息包括私钥恢复凭证、区块链地址和合约部署代码;
合约创建模块,具体用于调用入口点合约对交易数据和节点签名信息进行验签处理,得到第一验签结果,若第一验签结果指示验签成功,则调用工厂合约创建合约部署代码对应的抽象账户智能合约;
合约创建模块,具体用于调用抽象账户智能合约对合约部署信息和终端签名信息进行验签处理,得到第二验签结果,若第二验签结果指示验签成功,则对区块链地址和私钥恢复凭证进行存储。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例可以在区块链账户(或区块链账户中的区块链私钥)丢失时,在资源客户端中生成针对密码信息的零知识证明,通过区块链中的区块链节点对零知识证明进行验证,在零知识验证对应的验证结果指示验证成功时,零知识证明可以用于证明密码信息的真实性。因此,本申请实施例可以在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息,由于已经通过零知识证明来证明密码信息的真实性,所以本申请可以通过更新区块链账户替换区块链账户,通过更新密码信息替换密码信息,从而通过密码信息对区块链账户(或是重置区块链私钥,得到更新区块链私钥)进行恢复(实际上是重置区块链账户,得到更新区块链账户),即实现更新区块链账户的恢复,进而提高区块链账户的安全性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2a是本申请实施例提供的一种进行数据交互的场景示意图;
图2b是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图5是本申请实施例提供的一种部署抽象账户智能合约的流程示意图;
图6是本申请实施例提供的一种恢复私钥的流程示意图;
图7是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图8是本申请实施例提供的一种抽象账户合约的流程示意图;
图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链是一种安全共享的去中心化的数据账本,所有数据通过一个个区块形成的链存储,利用加密技术使其具有可追溯、不可否认、不可伪造、不可篡改、去中心化的特性。
智能合约(Smart Contract)是一种以数字形式定义的协议(或一种以计算机程序形式编写的自动化合约),需运行在可信的环境中,比如区块链平台。智能合约是一种区块链各节点(包括共识节点)可以理解并执行的代码,可以执行任意逻辑并得到结果。智能合约是基于区块链技术的一种创新,通过代码执行和自动化的方式来管理、验证或执行合同中的条款和条件。智能合约使用区块链的分布式和不可篡改性特性,使得合同的执行更加透明、可靠和去中心化。区块链提供了智能合约执行的环境,区块链中可以包括一个或多个智能合约。
零知识证明(Zero-Knowledge Proof,ZKP)是一种密码学概念,用于证明某个陈述(例如,密码信息、更新密码信息)的真实性,同时不泄露陈述的具体内容或额外的信息。在零知识证明中,证明者可以向验证者证明某个断言是真实的,而无需向其透露关于该断言的具体细节。ZK-SNARKs(Zero-Knowledge Succinct Non-Interactive Argument ofKnowledge,简洁的非交互式零知识证明)是一种在不暴露底层数据的情况下生成零知识证明来验证信息真实性的协议。ZK-SNARKs协议涉及两方:证明者和验证者。证明者是提出声明的一方,而验证者是负责验证声明的一方。证明者使用ZK-SNARK机制产生声明,以向验证者表明声明是真实的,而无需透露参考信息。
具体的,请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示的网络架构可以包括区块链网络100a和终端设备集群100b。其中,区块链网络100a具体可以包括一个或者多个区块链节点,这里将不对区块链网络100a中的区块链节点的数量进行限定。如图1所示,多个区块链节点具体可以包括区块链节点110a、区块链节点110b、区块链节点110c、…、区块链节点110n;为了保证区块链网络100a内的信息互通,区块链网络100a中的每个区块链节点之间可以通过有线或无线通信方式进行直接或间接地网络连接(例如,区块链节点110a和区块链节点110b之间可以存在网络连接),以便于区块链节点之间可以通过网络连接进行数据交互(例如,区块传输);区块链节点可以为接入区块链网络100a中的服务器,也可以为接入区块链网络100a中的终端设备,这里不对区块链节点的具体形式进行限定。
可以理解的是,区块链网络100a中的每个区块链节点在进行正常工作时,可以接收到链外设备(例如,终端设备集群100b中的终端设备)发送的待上链数据,并基于接收到的待上链数据生成区块,然后对区块进行上链处理。可以理解的是,本申请书中相关数据(例如,零知识证明、私钥恢复凭证)收集处理在实例应用时应该严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
其中,终端设备集群100b具体可以包括一个或者多个终端设备,这里将不对终端设备集群100b中的终端设备的数量进行限定。如图1所示,多个终端设备具体可以包括终端设备120a、终端设备120b、…、终端设备120m;终端设备集群100b和区块链网络100a之间可以通过有线或无线通信方式进行直接或间接地网络连接,以便于终端设备集群100b中的终端设备和区块链网络100a中的区块链节点之间可以通过网络连接进行数据交互,例如,终端设备集群100b中的终端设备120b和区块链网络100a中的区块链节点110a之间可以存在网络连接。
其中,本申请实施例中的终端设备均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电(例如,智能电视)、可穿戴设备、车载终端、飞行器等具有数据处理功能的智能终端。其中,车载终端可以为智慧交通场景和辅助驾驶场景下的终端设备。应当理解,终端设备集群100b中的每个终端设备均可以安装有具备数据处理功能的应用客户端,应用客户端具体可以包括:车载客户端、智能家居客户端、娱乐客户端(例如,游戏客户端)、多媒体客户端(例如,视频客户端)、支付客户端(即支付应用)以及资讯类客户端(例如,新闻客户端)、资源客户端、去中心化应用客户端(DecentralizedApplication,DAPP)、浏览器等。其中,应用客户端可以为集成在某客户端(例如,浏览器)中的子客户端,应用客户端还可以为独立的客户端(例如,资源客户端),本申请实施例不对应用客户端的类型进行限定。
为便于理解,本申请实施例可以在图1所示的多个终端设备中选择一个终端设备作为目标终端设备,目标终端设备中可以安装有具备数据处理功能的应用客户端。例如,本申请实施例可以将图1所示的终端设备120a作为目标终端设备。
其中,本申请实施例中的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
为便于理解,本申请实施例以应用客户端为资源客户端为例进行说明,资源客户端可以用于保管用户在区块链上的区块链私钥(简称私钥),区块链可以通过区块链私钥来标识用户的身份,用户的数字资产是通过区块链私钥来管理的。通过区块链私钥可以对操作(例如,数字资产转移操作)进行签名确认,签名的操作可以由资源客户端发送到区块链节点,只有正确的操作才会被区块链执行,区块链会拒绝伪造的签名的操作并提示失败。
其中,目标终端设备可以将对象操作(User Operation,UserOp)直接发送到区块链节点;可选的,目标终端设备也可以将对象操作发送到资源服务器(未在图上示出),以使资源服务器(未在图上示出)将对象操作转发到区块链节点;可选的,目标终端设备还可以通过资源服务器(未在图上示出)生成对象操作,并将对象操作转发到区块链节点。其中,对象操作是一种新的事务对象(可以理解为对象的一种操作)。此时,资源客户端可以前端,资源服务器可以为前端对应的后台,目标终端设备可以通过资源客户端与资源服务器之间实现数据交互(例如,目标终端设备可以通过资源客户端向资源服务器发送合约部署请求,资源服务器可以向目标终端设备中的资源客户端返回合约部署结果),资源服务器可以用于存储资源客户端中的区块链地址。
应当理解,资源客户端可以是硬件设备也可以为软件程序,资源客户端可以用以实现资源管理业务功能,并基于该资源管理业务功能实现与去中心化应用客户端(简称去中心化应用,去中心化应用可以为区块链应用)之间的通信连接,以实现用户的授权登录等相关操作。其中,资源客户端是一种用于负责管理、存储用户数字资产、发起交易、参与投票的工具,例如可基于资源客户端向其它账户转移数字资产,又如可基于资源客户端接收其它账户所转入的数字资产。随着各类去中心化应用在区块链上广泛部署,用户在区块链上的活动增加,一般用户在使用去中心化应用时,可使用区块链密钥管理工具(即资源客户端)进行登录。其中,数字资产是指基于区块链技术发行、登记、存储、持有、转让或交易的新型无形资产,这些无形资产以数字化的形式存在于特定系统中,作为价值或权利的数字化标识。
应当理解,本申请实施例可以适用于账户恢复场景(或私钥恢复场景),目标终端设备可以在丢失区块链账户(或区块链账户中的区块链私钥)时,在资源客户端中生成针对区块链账户对应的密码信息(简称密码,password)的零知识证明,通过零知识证明来恢复区块链账户(或区块链账户中的区块链私钥),得到更新区块链账户(或更新区块链账户中的更新区块链私钥)。实际上,本申请实施例并不能重新获取丢失的区块链账户(或区块链账户中的区块链私钥),而是通过更新区块链账户(或更新区块链账户中的更新区块链私钥)替换区块链账户(或区块链账户中的区块链私钥)。
其中,密码和私钥(通常情况下,密码可以为比私钥更容易记忆的字符串)是相关的,密码可以用于证明用户对私钥的控制权,密码可以理解为是一种凭证。为了保障所存储的私钥的安全性,私钥不会在终端设备中明文存储,而是在终端设备中密文存储;通过密码可以对私钥进行加密处理,得到加密处理后的私钥(即加密处理后的区块链私钥);同理,通过密码可以对加密处理后的私钥进行解密处理,得到私钥(即区块链私钥)。
为便于理解,请参见图2a和图2b,图2a和图2b是本申请实施例提供的一种进行数据交互的场景示意图。如图2a和图2b所示的终端设备20b可以为上述图1所对应实施例中的目标终端设备,终端设备20b对应的对象可以为对象20c(为便于理解,本申请实施例可以将用户称之为对象,对象20c可以为终端设备20b对应的用户);如图2a和图2b所示的区块链网络20a可以为上述图1所对应实施例中的区块链网络100a,区块链网络20a中的区块链节点21a、区块链节点21b、…、区块链节点21c均可以为上述图1所对应实施例的区块链网络100a中的任意一个区块链节点。其中,终端设备20b可以为ZK-SNARKs协议的证明者,区块链节点(例如,区块链节点21c)可以为ZK-SNARKs协议的验证者。
如图2a所示,终端设备20b可以在资源客户端中生成区块链账户和区块链账户对应的密码信息,其中,区块链账户可以包括区块链公钥和区块链私钥,密码信息可以用于证明终端设备20b对区块链私钥的控制权(或密码信息可以用于证明对象20c对区块链私钥的控制权)。
如图2a所示,在对象20c丢失区块链私钥(或对象20c丢失区块链账户)时,终端设备20b可以在资源客户端中生成针对密码信息的零知识证明,向区块链中的区块链节点(例如,区块链节点21c)发送密钥恢复请求。其中,密钥恢复请求可以包括零知识证明和合约地址。
进一步地,如图2a所示,区块链节点21c可以接收终端设备20b发送的密码恢复请求,调用密钥恢复请求中的合约地址对应的抽象账户智能合约对密钥恢复请求中的零知识证明进行验证,得到验证结果。其中,若验证结果指示验证成功,则区块链节点21c可以记录密钥恢复请求具有恢复权限;可选的,若验证结果指示验证失败,则区块链节点21c无需对密钥恢复请求进行记录。进一步地,区块链节点21c可以将验证结果返回至终端设备20b。
进一步地,如图2b所示,终端设备20b可以接收区块链节点21c返回的验证结果,若验证结果指示验证成功,则终端设备20b可以在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息,其中,更新区块链账户可以包括更新区块链公钥和更新区块链私钥,更新密码信息可以用于证明终端设备20b对更新区块链私钥的控制权(或更新密码信息可以用于证明对象20c对更新区块链私钥的控制权)。
如图2b所示,终端设备20b可以在资源客户端中生成针对更新密码信息的更新零知识证明,向区块链中的区块链节点(例如,区块链节点21c)发送密钥修改请求。其中,密钥修改请求可以包括更新零知识证明和合约地址。
进一步地,如图2b所示,区块链节点21c可以接收终端设备20b发送的密钥修改请求,根据密钥修改请求中的合约地址对应的抽象账户智能合约和具有恢复权限的密钥恢复请求,对密钥修改请求进行校验(包括调用合约地址对应的抽象账户智能合约对密钥修改请求中的更新零知识证明进行验证),得到校验结果。其中,若校验结果指示校验成功,则区块链节点21c可以确定更新区块链账户和更新密码信息恢复成功;可选的,若校验结果指示校验失败,则区块链节点21c确定更新区块链账户和更新密码信息恢复失败。进一步地,区块链节点21c可以将校验结果返回至终端设备20b。
由此可见,本申请实施例可以在资源客户端中生成针对密码信息的零知识证明,通过零知识证明来证明密码信息的真实性,而不在资源客户端中暴露密码信息。这样,终端设备可以在资源客户端中生成更新区块链账户和更新密码信息,通过更新区块链账户替换区块链账户,通过更新密码信息替换密码信息,从而通过零知识证明高效实现更新区块链账户和更新密码信息的恢复,使得区块链账户不会丢失,提高区块链账户的安全性。
进一步地,请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该数据处理方法可以由终端设备执行,该终端设备可以为上述图1所对应实施例的终端设备集群100b中的任意一个终端设备(例如,终端设备120a)。其中,该数据处理方法可以包括以下步骤S101-步骤S104:
步骤S101,在资源客户端中生成针对密码信息的零知识证明;
具体的,终端设备可以在资源客户端中获取密钥信息、公开参数和隐私参数。其中,密钥信息包括证明密钥和验证密钥,证明密钥和验证密钥是在资源客户端中所生成(本申请实施例不对生成证明密钥和验证密钥的具体过程进行限定),证明密钥可以用于生成零知识证明,验证密钥可以用于验证零知识证明;公开参数包括私钥恢复凭证(公开参数还可以包括除私钥恢复凭证之外的其他公开的信息,公开参数可以为证明者和验证者均具有的参数,这里不进行一一列举),隐私参数包括密码信息(隐私参数还可以包括除密码信息之外的其他未公开的信息,隐私参数可以为证明者具有、验证者不具有的参数,这里不进行一一列举)。进一步地,终端设备可以根据密钥信息、公开参数和隐私参数,生成针对密码信息的零知识证明。可选的,终端设备可以根据证明密钥、公开参数和隐私参数,生成针对密码信息的零知识证明。
应当理解,在资源客户端中生成针对密码信息的零知识证明之前,终端设备可以在资源客户端中生成区块链账户和区块链账户对应的密码信息。其中,区块链账户包括区块链私钥(即区块链私钥属于在资源客户端中所生成的区块链账户),密码信息用于证明终端设备(即资源客户端所属的终端设备)对区块链私钥的控制权。其中,区块链账户还包括区块链公钥,终端设备可以将区块链公钥发送至区块链中的区块链节点。
应当理解,终端设备可以根据资源客户端中的区块链账户和区块链账户对应的密码信息,在资源客户端中生成区块链账户对应的私钥恢复凭证。进一步地,终端设备可以向区块链中的区块链节点发送合约部署请求。其中,合约部署请求包括私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;区块链节点用于创建合约部署代码对应的抽象账户智能合约,区块链节点还用于对区块链地址和私钥恢复凭证进行存储;私钥恢复凭证用于对零知识证明进行验证(即用于修改抽象账户资源的所有权)。进一步地,终端设备可以接收区块链节点返回的合约部署结果。其中,合约部署结果包括抽象账户智能合约对应的合约地址。
其中,在区块链节点创建合约部署代码对应的抽象账户智能合约后,区块链节点可以确定终端设备成功将抽象账户智能合约部署在区块链上(即抽象账户智能合约是终端设备部署在区块链上)。可选的,若区块链节点未成功创建合约部署代码对应的抽象账户智能合约(例如,在合约部署代码出现错误时,区块链节点无法成功创建抽象账户智能合约),则终端设备可以接收区块链节点返回的用于指示部署失败的合约部署结果。
其中,终端设备根据区块链账户和密码信息生成私钥恢复凭证的具体过程可以描述为:终端设备可以对资源客户端中的区块链账户对应的区块链地址和区块链账户对应的密码信息进行拼接,生成拼接字符串。进一步地,终端设备可以在资源客户端对拼接字符串进行哈希处理,生成区块链账户对应的私钥恢复凭证。可选的,终端设备可以对资源客户端中的区块链账户对应的区块链地址进行哈希处理,生成地址哈希参数;终端设备可以对区块链账户对应的密码信息进行哈希处理,生成密码哈希参数。进一步地,终端设备可以对地址哈希参数和密码哈希参数进行拼接,生成区块链账户对应的私钥恢复凭证。
步骤S102,向区块链中的区块链节点发送密钥恢复请求;
其中,密钥恢复请求包括零知识证明和合约地址,区块链节点用于调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果。其中,若验证结果指示验证成功,则区块链节点用于记录密钥恢复请求具有恢复权限;可选的,若验证结果指示验证失败,则区块链节点无需记录密钥恢复请求具有恢复权限。
其中,区块链节点调用抽象账户智能合约对零知识证明进行验证的具体过程,可以参见下述图4所对应实施例中对步骤S202的描述。
步骤S103,在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息;
其中,更新区块链账户包括更新区块链私钥,更新密码信息用于证明终端设备对更新区块链私钥的控制权。其中,更新区块链账户还包括更新区块链公钥,终端设备可以将更新区块链公钥发送至区块链中的区块链节点。
其中,区块链账户和更新区块链账户是不同的(区块链私钥和更新区块链私钥是不同的,区块链公钥和更新区块链公钥是不同的),密码信息和更新密码信息可以是相同的、也可以是不同的。
步骤S104,根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求。
具体的,终端设备可以根据更新区块链账户和更新密码信息,在资源客户端中生成更新区块链账户对应的更新私钥恢复凭证。进一步地,终端设备可以在资源客户端中获取更新密钥信息、更新公开参数和更新隐私参数。其中,更新密钥信息包括更新证明密钥和更新验证密钥,更新证明密钥和更新验证密钥是在资源客户端中所生成(本申请实施例不对生成更新证明密钥和更新验证密钥的具体过程进行限定),更新证明密钥可以用于生成更新零知识证明,更新验证密钥可以用于验证更新零知识证明;更新公开参数包括更新私钥恢复凭证(更新公开参数还可以包括除更新私钥恢复凭证之外的其他公开的信息,更新公开参数可以为证明者和验证者均具有的参数,这里不进行一一列举),更新隐私参数包括更新密码信息(更新隐私参数还可以包括除更新密码信息之外的其他未公开的信息,更新隐私参数可以为证明者具有、验证者不具有的参数,这里不进行一一列举)。进一步地,终端设备可以根据更新密钥信息、更新公开参数和更新隐私参数,生成针对更新密码信息的更新零知识证明。可选的,终端设备可以根据更新证明密钥、更新公开参数和更新隐私参数,生成针对更新密码信息的更新零知识证明。进一步地,终端设备可以向区块链节点发送密钥修改请求。其中,密钥修改请求包括更新验证密钥、更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址。
其中,区块链节点用于根据具有恢复权限的密钥恢复请求和合约地址对应的抽象账户智能合约对密钥修改请求进行校验,得到校验结果。其中,若校验结果指示校验成功,则区块链节点确定更新区块链账户(或更新区块链账户中的更新区块链私钥)和更新密码信息恢复成功;可选的,若校验结果指示校验失败,则区块链节点确定更新区块链账户(或更新区块链账户中的更新区块链私钥)和更新密码信息恢复失败。
其中,终端设备根据更新区块链账户和更新密码信息生成更新私钥恢复凭证的具体过程可以描述为:终端设备可以对资源客户端中的更新区块链账户对应的更新区块链地址和更新区块链账户对应的更新密码信息进行拼接,生成更新拼接字符串。进一步地,终端设备可以在资源客户端对更新拼接字符串进行哈希处理,生成更新区块链账户对应的更新私钥恢复凭证。可选的,终端设备可以对资源客户端中的更新区块链账户对应的更新区块链地址进行哈希处理,生成更新地址哈希参数;终端设备可以对更新区块链账户对应的更新密码信息进行哈希处理,生成更新密码哈希参数。进一步地,终端设备可以对更新地址哈希参数和更新密码哈希参数进行拼接,生成更新区块链账户对应的更新私钥恢复凭证。
其中,区块链节点根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验的具体过程,可以参见下述图4所对应实施例中对步骤S204的描述。
进一步地,终端设备可以接收区块链节点返回的账户恢复结果。其中,在校验结果指示校验成功时,账户恢复结果可以表示账户恢复成功,此时终端设备可以通过更新区块链私钥进行签名处理;在校验结果指示校验失败时,账户恢复结果可以表示账户恢复失败,此时终端设备可以通过区块链私钥进行签名处理。
可选的,终端设备可以接收区块链节点返回的验证结果。进一步地,若验证结果指示验证成功,则终端设备可以执行在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息的步骤;可选的,若验证结果指示验证成功,则终端设备可以执行根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求的步骤。可选的,若验证结果指示验证失败,则终端设备无需执行步骤S103和步骤S104。
由此可见,本申请实施例可以在区块链账户(或区块链账户中的区块链私钥)丢失时,在资源客户端中生成针对密码信息的零知识证明,通过区块链中的区块链节点对零知识证明进行验证,在零知识验证对应的验证结果指示验证成功时,零知识证明可以用于证明密码信息的真实性。因此,本申请实施例可以在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息,由于已经通过零知识证明来证明密码信息的真实性,所以本申请可以通过更新区块链账户替换区块链账户,通过更新密码信息替换密码信息,从而通过密码信息对区块链账户(或是重置区块链私钥,得到更新区块链私钥)进行恢复(实际上是重置区块链账户,得到更新区块链账户),即实现更新区块链账户的恢复,进而提高区块链账户的安全性。
进一步地,请参见图4,图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该数据处理方法可以由区块链节点执行,该区块链节点可以为上述图1所对应实施例的区块链网络100a中的任意一个区块链节点(例如,区块链节点110a)。其中,该数据处理方法可以包括以下步骤S201-步骤S204:
步骤S201,接收终端设备发送的密钥恢复请求;
其中,密钥恢复请求包括针对密码信息的零知识证明和合约地址,密钥恢复请求还包括验证密钥;零知识证明是终端设备在资源客户端中所生成,验证密钥是终端设备在资源客户端中生成零知识证明时所生成;密码信息用于证明终端设备对区块链私钥的控制权,区块链私钥属于终端设备在资源客户端中所生成的区块链账户。
其中,终端设备在资源客户端中生成零知识证明的具体过程,可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再进行赘述。
应当理解,区块链节点可以接收终端设备发送的合约部署请求。其中,合约部署请求包括资源客户端中的区块链账户对应的私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;私钥恢复凭证是终端设备根据区块链账户和区块链账户对应的密码信息在资源客户端中所生成。进一步地,区块链节点可以创建合约部署代码对应的抽象账户智能合约(同时设置抽象账户智能合约的所有者为终端设备对应的对象),对区块链地址和私钥恢复凭证进行存储。其中,私钥恢复凭证用于对零知识证明进行验证(即用于修改抽象账户资源的所有权)。进一步地,区块链节点可以根据抽象账户智能合约对应的合约地址生成合约部署结果,向终端设备返回合约部署结果。
其中,在区块链节点创建合约部署代码对应的抽象账户智能合约后,区块链节点可以确定终端设备成功将抽象账户智能合约部署在区块链上(即抽象账户智能合约是终端设备部署在区块链上)。可选的,若区块链节点未成功创建合约部署代码对应的抽象账户智能合约(例如,在合约部署代码出现错误时,区块链节点无法成功创建抽象账户智能合约),则区块链节点可以向终端设备返回用于指示部署失败的合约部署结果。
其中,终端设备根据区块链账户和密码信息在资源客户端中生成私钥恢复凭证的具体过程,可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再进行赘述。
其中,本申请实施例可以将私钥恢复凭证存储在合约资源(即智能合约资源)中,从而在对象丢失了控制合约资源(包括本申请实施例中的抽象账户资源,抽象账户资源可以关联有抽象账户智能合约)的区块链私钥时,实现更新区块链私钥的恢复。
步骤S202,调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果,若验证结果指示验证成功,则记录密钥恢复请求具有恢复权限;
具体的,区块链节点可以调用合约地址对应的抽象账户智能合约获取验证密钥和公开参数。其中,公开参数包括私钥恢复凭证,私钥恢复凭证是区块链节点在创建抽象账户智能合约时所存储。进一步地,区块链节点可以通过验证密钥和公开参数对零知识证明进行验证,得到验证结果。其中,验证结果可以指示验证成功或验证失败。进一步地,若验证结果指示验证成功,则区块链节点可以记录密钥恢复请求具有恢复权限。
进一步地,区块链节点可以将验证结果返回至终端设备。其中,若验证结果指示验证成功,则终端设备用于发送密钥修改请求(即根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求);可选的,若验证结果指示验证成功,则终端设备用于在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息。可选的,若验证结果指示验证失败,则终端设备无需执行步骤S103和步骤S104。
步骤S203,接收终端设备发送的密钥修改请求;
其中,密钥修改请求是终端设备根据更新区块链账户和更新区块链账户对应的更新密码信息所发送;更新区块链账户和更新密码信息是终端设备在资源客户端中所生成,更新区块链账户包括更新区块链私钥,更新密码信息用于证明终端设备对更新区块链私钥的控制权。
其中,密钥修改请求包括更新验证密钥、针对更新密码信息的更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址;更新零知识证明和更新验证密钥是终端设备在资源客户端中所生成,更新私钥恢复凭证是终端设备根据更新区块链账户和更新密码信息在资源客户端中所生成。
其中,终端设备在资源客户端中生成更新零知识证明的具体过程,可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再进行赘述。其中,终端设备根据更新区块链账户和更新密码信息在资源客户端中生成更新私钥恢复凭证的具体过程,可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再进行赘述。
步骤S204,根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果,若校验结果指示校验成功,则确定更新区块链账户和更新密码信息恢复成功。
具体的,区块链节点可以确定具有恢复权限的密钥恢复请求对应的第一时间戳和接收密钥修改请求的第二时间戳之间的时间间隔。其中,第一时间戳可以为区块链节点接收密钥恢复请求的时间戳,也可以为区块链节点记录密钥恢复请求具有恢复权限的时间戳。进一步地,区块链节点可以根据时间间隔和时间周期阈值,生成候选校验结果。进一步地,若候选校验结果指示校验成功,则区块链节点可以调用合约地址对应的抽象账户智能合约获取更新验证密钥和更新公开参数。其中,更新公开参数包括更新私钥恢复凭证。进一步地,区块链节点可以通过更新验证密钥和更新公开参数对更新零知识证明进行验证,得到校验结果。其中,校验结果可以指示校验成功或校验失败。进一步地,若校验结果指示校验成功,则区块链节点可以确定更新区块链账户(或更新区块链账户中的更新区块链私钥)和更新密码信息恢复成功。可选的,若校验结果指示校验失败,则区块链节点可以确定更新区块链账户(或更新区块链账户中的更新区块链私钥)和更新密码信息恢复失败。
可以理解的是,若时间间隔大于或等于时间周期阈值,则区块链节点可以生成用于指示校验成功的候选校验结果;可选的,若时间间隔小于时间周期阈值,则区块链节点可以生成用于指示校验失败的候选校验结果。其中,在时间间隔小于时间周期阈值时,合约账户(Contract Accounts,CA)被锁定,不可以进行任何操作(例如,数字资产转移操作);本申请实施例不对时间周期阈值的具体取值进行限定,例如,时间周期阈值可以为3天、45小时。
因此,本申请可以通过时间周期阈值来延长确认期限以保护对象隐私,提供了安全可靠的密码恢复解决方案,可以提高区块链账户的安全性,防止频繁更改区块链账户(或区块链账户中的区块链私钥)。
进一步地,若校验结果指示校验成功,则区块链节点可以对更新区块链地址和更新私钥恢复凭证进行存储。其中,更新私钥恢复凭证可以用于对新的零知识证明进行验证,通过更新私钥恢复凭证对新的零知识证明进行验证的具体过程可以参见通过私钥恢复凭证对零知识证明进行验证的描述,这里将不再进行赘述。进一步地,区块链节点可以向终端设备返回账户恢复结果。其中,在校验结果指示校验成功时,账户恢复结果可以表示账户恢复成功;在校验结果指示校验失败时,账户恢复结果可以表示账户恢复失败。
其中,可以理解的是,在账户恢复成功时,区块链节点可以将与合约账户关联的外部账户(Externally Owned Account,EOA)从区块链账户更新为更新区块链账户(即替换合约账户的拥有者,合约账户的拥有者可以控制合约账户中的数字资产),以使更新区块链账户可以继续控制合约账户中的数字资产(例如,通过更新区块链账户对合约账户中的数字资产进行数字资产转移)。其中,外部账户可以为本申请中的区块链账户或更新区块链账户,合约账户可以为本申请中的抽象账户资源,合约账户的拥有者是外部账户地址(例如,本申请中的区块链地址或更新区块链地址)。
可选的,区块链节点可以调用合约地址对应的抽象账户智能合约获取更新验证密钥和更新公开参数。其中,更新公开参数包括更新私钥恢复凭证。进一步地,区块链节点可以通过更新验证密钥和更新公开参数对更新零知识证明进行验证,得到更新验证结果。进一步地,区块链节点可以将更新验证结果确定为校验结果。其中,校验结果可以指示校验成功或校验失败(即更新验证结果可以指示验证成功或验证失败)。
由此可见,本申请实施例可以在区块链账户(或区块链账户中的区块链私钥)丢失时,在资源客户端中生成针对密码信息的零知识证明,通过区块链中的区块链节点对零知识证明进行验证,在零知识验证对应的验证结果指示验证成功时,零知识证明可以用于证明密码信息的真实性。因此,本申请实施例可以在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息,由于已经通过零知识证明来证明密码信息的真实性,所以本申请可以通过更新区块链账户替换区块链账户,通过更新密码信息替换密码信息,从而通过密码信息对区块链账户(或是重置区块链私钥,得到更新区块链私钥)进行恢复(实际上是重置区块链账户,得到更新区块链账户),即实现更新区块链账户的恢复,进而提高区块链账户的安全性。
为便于理解,请参见图5,图5是本申请实施例提供的一种部署抽象账户智能合约的流程示意图。如图5所示的对象可以为终端设备对应的用户,如图5所示的抽象账户资源可以为运行有抽象账户智能合约的区块链节点,对象和抽象账户资源可以通过步骤S11-步骤S13实现在区块链上部署抽象账户智能合约(即创建抽象账户资源或创建合约账户)。
如图5所示,终端设备可以执行步骤S11,通过步骤S11部署合约(即向区块链中的区块链节点发送合约部署请求),这样,区块链节点可以在接收终端设备发送的合约部署请求之后执行步骤S12,通过步骤S12初始化合约(即抽象账户智能合约,也可以理解为初始化抽象账户资源),设置区块链地址和恢复凭证(即私钥恢复凭证),即创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储。进一步地,区块链节点可以根据抽象账户智能合约对应的合约地址生成合约部署结果,进而通过步骤S13向终端设备返回合约部署结果。
为便于理解,请参见图6,图6是本申请实施例提供的一种恢复私钥的流程示意图。如图6所示的对象可以为终端设备对应的用户,如图6所示的抽象账户资源可以为运行有抽象账户智能合约的区块链节点,对象和抽象账户资源可以通过步骤S21-步骤S31实现在区块链上恢复私钥。
如图6所示,终端设备可以执行步骤S21,通过步骤S21计算零知识证明(即在资源客户端中生成针对密码信息的零知识证明,零知识证明可以用于证明密码信息,而无需公开密码信息),进而执行步骤S22,通过步骤S22请求恢复私钥(即向区块链中的区块链节点发送密钥恢复请求),这样,区块链节点可以在接收终端设备发送的密钥恢复请求后执行步骤S23,通过步骤S23验证零知识证明(即调用抽象账户智能合约对零知识证明进行验证),得到验证结果。进一步地,区块链节点可以在验证结果指示验证失败(即证明错误)时,通过步骤S24向终端设备返回用于指示证明错误的验证结果;可选的,区块链节点可以在验证结果指示验证成功(即证明通过)时,通过步骤S25向终端设备返回用于指示证明通过的验证结果,且通过步骤S26记录恢复请求(即记录密钥恢复请求具有恢复权限),进入强制确认期(即等待时间周期阈值所指示的时间周期)。
如图6所示,终端设备可以通过步骤S27等待强制确认期,进而执行步骤S28,通过步骤S28请求修改私钥(即向区块链中的区块链节点发送密钥修改请求),这样,区块链节点可以在接收终端设备发送的密钥修改请求后执行步骤S29,通过步骤S29校验修改请求(即根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验),得到校验结果。进一步地,区块链节点可以在校验结果指示校验成功时,通过步骤S30记录更新区块链地址和更新恢复凭证(即更新私钥恢复凭证),即对更新区块链地址和更新私钥恢复凭证进行存储。进一步地,区块链节点可以执行步骤S31,通过步骤S31通知终端设备账户恢复成功,即向终端设备返回用于指示账户恢复成功的账户恢复结果。
进一步地,请参见图7,图7是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该数据处理方法可以由区块链节点和终端设备共同执行,该区块链节点可以为上述图1所对应实施例的区块链网络100a中的任意一个区块链节点(例如,区块链节点110a),该终端设备可以为上述图1所对应实施例的终端设备集群100b中的任意一个终端设备(例如,终端设备120a)。其中,该数据处理方法可以包括以下步骤S301-步骤S314:
步骤S301,根据资源客户端中的区块链账户和区块链账户对应的密码信息,在资源客户端中生成区块链账户对应的私钥恢复凭证;
步骤S302,向区块链中的区块链节点发送合约部署请求;
具体的,终端设备可以在资源客户端中生成合约部署信息,通过区块链私钥对合约部署信息进行签名处理,得到合约部署信息对应的终端签名信息(即第一终端签名信息)。其中,合约部署信息包括私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码。进一步地,终端设备可以将终端签名信息(即第一终端签名信息)和合约部署信息确定为合约部署操作,向区块链中的区块链节点发送携带合约部署操作的合约部署请求。
其中,终端设备可以对合约部署信息进行哈希处理,得到合约部署信息对应的第一摘要信息。进一步地,终端设备可以通过区块链私钥对第一摘要信息进行加密处理,得到合约部署信息对应的终端签名信息(即第一终端签名信息)。进一步地,终端设备可以将合约部署信息和终端签名信息(即第一终端签名信息)确定为合约部署操作。其中,终端设备可以对合约部署信息和终端签名信息(即第一终端签名信息)进行拼接,得到合约部署操作。
步骤S303,接收终端设备发送的合约部署请求;
其中,合约部署请求包括合约部署操作。应当理解,区块链节点可以将合约部署操作打包为交易数据(即第一交易数据),对交易数据(即第一交易数据)进行签名处理,得到交易数据(即第一交易数据)对应的节点签名信息(即第一节点签名信息)。进一步地,区块链节点可以对交易数据(即第一交易数据)和节点签名信息(即第一节点签名信息)进行上链处理,得到上链结果(即第一上链结果)。进一步地,若上链结果(即第一上链结果)指示上链成功,则区块链节点可以执行创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储的步骤。可选的,若上链结果(即第一上链结果)指示上链失败,则区块链节点无需执行创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储的步骤。
其中,区块链节点可以对交易数据(即第一交易数据)进行哈希处理,得到交易数据(即第一交易数据)对应的第二摘要信息。进一步地,区块链节点可以通过节点私钥对第二摘要信息进行加密处理,得到交易数据(即第一交易数据)对应的节点签名信息(即第一节点签名信息)。进一步地,区块链节点可以将交易数据(即第一交易数据)和节点签名信息(即第一节点签名信息)确定为待上链数据。其中,区块链节点可以对交易数据(即第一交易数据)和节点签名信息(即第一节点签名信息)进行拼接,得到待上链数据。
其中,合约部署操作包括合约部署信息和合约部署信息对应的终端签名信息(即第一终端签名信息);终端签名信息(即第一终端签名信息)是终端设备通过区块链私钥对合约部署信息进行签名处理所得到,合约部署信息包括私钥恢复凭证、区块链地址和合约部署代码。
步骤S304,创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储;
具体的,区块链节点可以调用入口点合约对交易数据(即第一交易数据)和节点签名信息(即第一节点签名信息)进行验签处理,得到第一验签结果,若第一验签结果指示验签成功,则调用工厂合约创建合约部署代码对应的抽象账户智能合约。可选的,若第一验签结果指示验签失败,则区块链节点无需调用工厂合约创建合约部署代码对应的抽象账户智能合约。进一步地,区块链节点可以调用抽象账户智能合约对合约部署信息和终端签名信息(即第一终端签名信息)进行验签处理,得到第二验签结果,若第二验签结果指示验签成功,则对区块链地址和私钥恢复凭证进行存储。可选的,若第二验签结果指示验签失败,则区块链节点无需对区块链地址和私钥恢复凭证进行存储。其中,私钥恢复凭证用于对零知识证明进行验证。
其中,区块链节点可以通过节点私钥对应的节点公钥对节点签名信息(即第一节点签名信息)进行解密处理,得到交易数据(即第一交易数据)对应的第二摘要信息。进一步地,区块链节点可以对交易数据(即第一交易数据)进行哈希处理,得到交易数据(即第一交易数据)对应的第三摘要信息。进一步地,区块链节点可以将第二摘要信息与第三摘要信息进行比较,若第二摘要信息和第三摘要信息相同,则生成用于指示验签成功的第一验签结果。可选的,若第二摘要信息和第三摘要信息不相同,则区块链节点可以生成用于指示验签失败的第一验签结果。
其中,区块链节点可以通过区块链私钥对应的区块链公钥对终端签名信息(即第一终端签名信息)进行解密处理,得到合约部署信息对应的第一摘要信息。进一步地,区块链节点可以对合约部署信息进行哈希处理,得到合约部署信息对应的第四摘要信息。进一步地,区块链节点可以将第一摘要信息与第四摘要信息进行比较,若第一摘要信息和第四摘要信息相同,则生成用于指示验签成功的第二验签结果。可选的,若第一摘要信息和第四摘要信息不相同,则区块链节点可以生成用于指示验签失败的第二验签结果。
步骤S305,根据抽象账户智能合约对应的合约地址生成合约部署结果,向终端设备返回合约部署结果;
步骤S306,接收区块链节点返回的合约部署结果;
其中,合约部署结果包括抽象账户智能合约对应的合约地址。
步骤S307,在资源客户端中生成针对密码信息的零知识证明;
其中,密码信息用于证明资源客户端所属的终端设备对区块链私钥的控制权,区块链私钥属于在资源客户端中所生成的区块链账户。
步骤S308,向区块链中的区块链节点发送密钥恢复请求;
具体的,终端设备可以在资源客户端中生成密钥恢复信息,通过区块链私钥对密钥恢复信息进行签名处理,得到密钥恢复信息对应的终端签名信息(即第二终端签名信息)。其中,密钥恢复信息包括零知识证明和合约地址。进一步地,终端设备可以将终端签名信息(即第二终端签名信息)和密钥恢复信息确定为密钥恢复操作,向区块链中的区块链节点发送携带密钥恢复操作的密钥恢复请求。
其中,终端设备对密钥恢复信息进行签名处理的具体过程,可以参见上述终端设备对合约部署信息进行签名处理的描述,这里将不再进行赘述。
步骤S309,接收终端设备发送的密钥恢复请求;
其中,密钥恢复请求包括密钥恢复操作。应当理解,区块链节点可以将密钥恢复操作打包为交易数据(即第二交易数据),对交易数据(即第二交易数据)进行签名处理,得到交易数据(即第二交易数据)对应的节点签名信息(即第二节点签名信息)。进一步地,区块链节点可以对交易数据(即第二交易数据)和节点签名信息(即第二节点签名信息)进行上链处理,得到上链结果(即第二上链结果)。进一步地,若上链结果(即第二上链结果)指示上链成功,则区块链节点可以执行调用合约地址对应的抽象账户智能合约对零知识证明进行验证的步骤。可选的,若上链结果(即第二上链结果)指示上链失败,则区块链节点无需执行调用合约地址对应的抽象账户智能合约对零知识证明进行验证的步骤。
其中,区块链节点对交易数据(即第二交易数据)进行签名处理的具体过程,可以参见上述区块链节点对交易数据(即第一交易数据)进行签名处理的描述,这里将不再进行赘述。
可选的,区块链节点还可以在创建抽象账户智能合约时设置交易门槛(例如,设置多个对象的签名(例如,2个对象的签名,2个对象可以包括终端设备对应的对象和其他终端设备对应的对象)),这样,区块链节点在调用合约地址对应的抽象账户智能合约对零知识证明进行验证之前,需要对2个对象的签名进行验签。
其中,密钥恢复操作包括密钥恢复信息和密钥恢复信息对应的终端签名信息(即第二终端签名信息);终端签名信息(即第二终端签名信息)是终端设备通过区块链私钥对密钥恢复信息进行签名处理所得到,密钥恢复信息包括零知识证明和合约地址。
步骤S310,调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果,若验证结果指示验证成功,则记录密钥恢复请求具有恢复权限;
具体的,区块链节点可以调用入口点合约对交易数据(即第二交易数据)和节点签名信息(即第二节点签名信息)进行验签处理,得到第三验签结果,若第三验签结果指示验签成功,则调用抽象账户智能合约对密钥恢复信息和终端签名信息(即第二终端签名信息)进行验签处理,得到第四验签结果。可选的,若第三验签结果指示验签失败,则区块链节点无需调用抽象账户智能合约对密钥恢复信息和终端签名信息(即第二终端签名信息)进行验签处理。进一步地,若第四验签结果指示验签成功,则区块链节点可以调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果。可选的,若第四验签结果指示验签失败,则区块链节点无需调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果。进一步地,若验证结果指示验证成功,则区块链节点可以记录密钥恢复请求具有恢复权限。可选的,若验证结果指示验证失败,则区块链节点无需记录密钥恢复请求具有恢复权限。
其中,区块链节点对交易数据(即第二交易数据)和节点签名信息(即第二节点签名信息)进行验签处理的具体过程,可以参见上述区块链节点对对交易数据(即第一交易数据)和节点签名信息(即第一节点签名信息)进行验签处理的描述,这里将不再进行赘述。其中,区块链节点对密钥恢复信息和终端签名信息(即第二终端签名信息)进行验签处理的具体过程,可以参见上述区块链节点对合约部署信息和终端签名信息(即第一终端签名信息)进行验签处理的描述,这里将不再进行赘述。
步骤S311,在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息;
其中,更新区块链账户包括更新区块链私钥,更新密码信息用于证明终端设备对更新区块链私钥的控制权。
步骤S312,根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求;
具体的,终端设备可以在资源客户端中生成密钥修改信息,通过区块链私钥对密钥修改信息进行签名处理,得到密钥修改信息对应的终端签名信息(即第三终端签名信息)。其中,密钥修改信息包括更新验证密钥、更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址。进一步地,终端设备可以将终端签名信息(即第三终端签名信息)和密钥修改信息确定为密钥修改操作,向区块链中的区块链节点发送携带密钥修改操作的密钥修改请求。
其中,终端设备对密钥修改信息进行签名处理的具体过程,可以参见上述终端设备对合约部署信息进行签名处理的描述,这里将不再进行赘述。
步骤S313,接收终端设备发送的密钥修改请求;
其中,密钥修改请求包括密钥修改操作。应当理解,区块链节点可以将密钥修改操作打包为交易数据(即第三交易数据),对交易数据(即第三交易数据)进行签名处理,得到交易数据(即第三交易数据)对应的节点签名信息(即第三节点签名信息)。进一步地,区块链节点可以对交易数据(即第三交易数据)和节点签名信息(即第三节点签名信息)进行上链处理,得到上链结果(即第三上链结果)。进一步地,若上链结果(即第三上链结果)指示上链成功,则区块链节点可以执行根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验的步骤。可选的,若上链结果(即第三上链结果)指示上链失败,则区块链节点无需执行根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验的步骤。
其中,区块链节点对交易数据(即第三交易数据)进行签名处理的具体过程,可以参见上述区块链节点对交易数据(即第一交易数据)进行签名处理的描述,这里将不再进行赘述。
可选的,区块链节点还可以在创建抽象账户智能合约时设置交易门槛(例如,设置多个对象的签名(例如,2个对象的签名,2个对象可以包括终端设备对应的对象和其他终端设备对应的对象)),这样,区块链节点在根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验之前,需要对2个对象的签名进行验签。
其中,密钥修改操作包括密钥修改信息和密钥修改信息对应的终端签名信息(即第三终端签名信息);终端签名信息(即第三终端签名信息)是终端设备通过区块链私钥对密钥修改信息进行签名处理所得到,密钥修改信息包括更新验证密钥、更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址。
步骤S314,根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果,若校验结果指示校验成功,则确定更新区块链账户和更新密码信息恢复成功。
具体的,区块链节点可以调用入口点合约对交易数据(即第三交易数据)和节点签名信息(即第三节点签名信息)进行验签处理,得到第五验签结果,若第五验签结果指示验签成功,则调用抽象账户智能合约对密钥修改信息和终端签名信息(即第三终端签名信息)进行验签处理,得到第六验签结果。可选的,若第五验签结果指示验签失败,则区块链节点无需调用抽象账户智能合约对密钥修改信息和终端签名信息(即第三终端签名信息)进行验签处理。进一步地,若第六验签结果指示验签成功,则区块链节点可以根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果。可选的,若第六验签结果指示验签失败,则区块链节点无需根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果。进一步地,若校验结果指示校验成功,则区块链节点可以确定更新区块链账户和更新密码信息恢复成功。可选的,若校验结果指示校验失败,则区块链节点可以确定更新区块链账户和更新密码信息恢复失败。
其中,区块链节点对交易数据(即第三交易数据)和节点签名信息(即第三节点签名信息)进行验签处理的具体过程,可以参见上述区块链节点对对交易数据(即第一交易数据)和节点签名信息(即第一节点签名信息)进行验签处理的描述,这里将不再进行赘述。其中,区块链节点对密钥修改信息和终端签名信息(即第三终端签名信息)进行验签处理的具体过程,可以参见上述区块链节点对合约部署信息和终端签名信息(即第一终端签名信息)进行验签处理的描述,这里将不再进行赘述。
为便于理解,请参见图8,图8是本申请实施例提供的一种抽象账户合约的流程示意图。如图8所示的对象可以为终端设备对应的用户(User),如图8所示的打包器(或打包者,bundler)可以为区块链中的区块链节点,如图8所示的入口点合约(EntryPointcontract)、工厂合约(Factory contract,工厂合约可以用于标准化合约创建的参数和流程)、账户合约(即抽象账户智能合约,Account contract)和代付合约(Paymastercontract)运行在区块链中的区块链节点上。
其中,区块链中的区块链节点均可以有完整的区块链数据,打包器对应的区块链节点和合约(即入口点合约、工厂合约、账户合约和代付合约)所运行的区块链节点可以为相同的区块链节点、也可以为不同的区块链节点。为便于理解,这里以打包器对应的区块链节点和合约所运行的区块链节点为相同的区块链节点为例进行说明。
如图8所示,终端设备可以执行步骤S41,通过步骤S41创建并签名对象操作。其中,这里的对象操作可以为上述合约部署操作、密钥恢复操作或密钥修改操作。进一步地,终端设备可以执行步骤S42,通过步骤S42将对象操作发送至区块链中的打包器(即区块链中的区块链节点),通过区块链节点将对象操作打包为交易数据,进而对交易数据进行签名处理,得到交易数据对应的节点签名信息。其中,区块链节点可以将一个对象操作单独打包为交易数据,也可以将至少两个对象操作打包为交易数据,本申请对此不进行限定。进一步地,区块链节点可以对交易数据和节点签名信息进行上链处理,得到上链结果。
可以理解的是,区块链节点可以将交易数据和节点签名信息打包为区块,对区块链进行上链处理,得到上链结果。进一步地,在区块被共识上链后(即上链结果指示上链成功),区块链节点可以调用合约执行区块链中的交易数据,执行交易数据中的对象操作,即执行下述步骤S43-步骤S49。其中,打包器对应的区块链节点和对交易数据和节点签名信息进行打包的区块链节点可以为相同的区块链节点、也可以为不同的区块链节点。为便于理解,这里以打包器对应的区块链节点和对交易数据和节点签名信息进行打包的区块链节点为相同的区块链节点为例进行说明。
如图8所示,区块链节点可以执行步骤S43,通过步骤S43验证交易数据,即调用入口点合约对交易数据和节点签名信息进行验签处理,进而在验证成功时,确定区块链中是否存在抽象账户智能合约。其中,可选的,对象操作可以包括操作内容(例如,在对象操作为合约部署操作时,操作内容可以为私钥恢复凭证和区块链地址)、合约地址和创建合约的代码(即合约部署代码,initcode),区块链节点可以确定合约地址所指示的智能合约是否已经创建;若合约地址所指示的智能合约已经创建(即区块链中存在抽象账户智能合约),则区块链节点可以根据合约地址调用抽象账户智能合约;可选的,若合约地址所指示的智能合约未创建(即区块链中不存在抽象账户智能合约),则区块链节点可以根据合约部署代码创建抽象账户智能合约。
进一步地,若区块链中不存在的抽象账户智能合约,则区块链节点可以执行步骤S44,通过步骤S44调用工厂合约执行步骤S45,通过步骤S45创建合约(即抽象账户智能合约),且通过步骤S46向入口点合约返回合约地址。可选的,若区块链中存在对象对应的抽象账户智能合约,则区块链节点可以执行步骤S47(此时步骤S44-步骤S46无需执行),通过步骤S47验证对象操作,即调用抽象账户智能合约对对象操作进行验签处理,进而在验签结果指示验签成功时,执行对象操作(例如,根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,调用合约地址对应的抽象账户智能合约对零知识证明进行验证,对区块链地址和私钥恢复凭证进行存储)。
如图8所示,若区块链中存在代付合约,则区块链节点可以通过代付合约执行步骤S49,通过步骤S49支付消耗资源(例如,50个游戏头盔);可选的,若区块链中不存在代付合约,则区块链节点可以通过账户合约执行步骤S48,通过步骤S48支付消耗资源(例如,50个游戏贝壳)。其中,消耗资源可以为区块链上执行交易时,交易双方需要支付的资源。
由此可见,本申请实施例提供了一种使用ZK-SNARKs技术实现的抽象账户资源的密码恢复机制,可以在区块链中部署区块链账户对应的抽象账户智能合约,这样,终端设备在丢失区块链账户(或区块链账户中的区块链私钥)时,可以生成针对密码信息的零知识证明,以使区块链中的区块链节点可以通过抽象账户智能合约对零知识证明进行验证,从而证明密码信息的真实性。进一步地,终端设备可以在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息,由于终端设备所拥有的密码信息是真实的,所以在区块链节点进一步对更新区块链账户和更新密码信息进行校验后,终端设备可以通过更新区块链账户恢复区块链账户、通过更新密码信息恢复密码信息,从而实现更新区块链账户和更新密码信息的恢复,提高区块链账户的安全性。
进一步地,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该数据处理装置1可以包括:证明生成模块11,恢复请求发送模块12,账户生成模块13,修改请求发送模块14;进一步地,该数据处理装置1还可以包括:凭证生成模块15,部署请求发送模块16,结果接收模块17;
证明生成模块11,用于在资源客户端中生成针对密码信息的零知识证明;密码信息用于证明资源客户端所属的终端设备对区块链私钥的控制权;区块链私钥属于在资源客户端中所生成的区块链账户;
其中,证明生成模块11,具体用于在资源客户端中获取密钥信息、公开参数和隐私参数;密钥信息包括证明密钥和验证密钥;公开参数包括私钥恢复凭证;隐私参数包括密码信息;证明密钥和验证密钥是在资源客户端中所生成;
证明生成模块11,具体用于根据密钥信息、公开参数和隐私参数,生成针对密码信息的零知识证明。
恢复请求发送模块12,用于向区块链中的区块链节点发送密钥恢复请求;密钥恢复请求包括零知识证明和合约地址;区块链节点用于调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果;若验证结果指示验证成功,则区块链节点用于记录密钥恢复请求具有恢复权限;抽象账户智能合约是终端设备部署在区块链上;
账户生成模块13,用于在资源客户端中生成更新区块链账户和更新区块链账户对应的更新密码信息;更新区块链账户包括更新区块链私钥;更新密码信息用于证明终端设备对更新区块链私钥的控制权;
修改请求发送模块14,用于根据更新区块链账户和更新密码信息,向区块链节点发送密钥修改请求;区块链节点用于根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果;若校验结果指示校验成功,则区块链节点确定更新区块链账户和更新密码信息恢复成功。
其中,修改请求发送模块14,具体用于根据更新区块链账户和更新密码信息,在资源客户端中生成更新区块链账户对应的更新私钥恢复凭证;
修改请求发送模块14,具体用于在资源客户端中获取更新密钥信息、更新公开参数和更新隐私参数;更新密钥信息包括更新证明密钥和更新验证密钥;更新公开参数包括更新私钥恢复凭证;更新隐私参数包括更新密码信息;更新证明密钥和更新验证密钥是在资源客户端中所生成;
修改请求发送模块14,具体用于根据更新密钥信息、更新公开参数和更新隐私参数,生成针对更新密码信息的更新零知识证明;
修改请求发送模块14,具体用于向区块链节点发送密钥修改请求;密钥修改请求包括更新验证密钥、更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址。
可选的,凭证生成模块15,用于根据资源客户端中的区块链账户和区块链账户对应的密码信息,在资源客户端中生成区块链账户对应的私钥恢复凭证;
其中,凭证生成模块15,具体用于对资源客户端中的区块链账户对应的区块链地址和区块链账户对应的密码信息进行拼接,生成拼接字符串;
凭证生成模块15,具体用于在资源客户端对拼接字符串进行哈希处理,生成区块链账户对应的私钥恢复凭证。
部署请求发送模块16,用于向区块链中的区块链节点发送合约部署请求;合约部署请求包括私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;区块链节点用于创建合约部署代码对应的抽象账户智能合约;区块链节点还用于对区块链地址和私钥恢复凭证进行存储;私钥恢复凭证用于对零知识证明进行验证;
其中,部署请求发送模块16,具体用于在资源客户端中生成合约部署信息,通过区块链私钥对合约部署信息进行签名处理,得到合约部署信息对应的终端签名信息;合约部署信息包括私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;
部署请求发送模块16,具体用于将终端签名信息和合约部署信息确定为合约部署操作,向区块链中的区块链节点发送携带合约部署操作的合约部署请求。
结果接收模块17,用于接收区块链节点返回的合约部署结果;合约部署结果包括抽象账户智能合约对应的合约地址。
其中,证明生成模块11,恢复请求发送模块12,账户生成模块13,修改请求发送模块14,凭证生成模块15,部署请求发送模块16,结果接收模块17的具体实现方式,可以参见上述图3所对应实施例中对步骤S101-步骤S104和图7所对应实施例中对步骤S301-步骤S314的描述,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图10,图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该数据处理装置2可以包括:恢复请求接收模块21,验证模块22,修改请求接收模块23,校验模块24;进一步地,该数据处理装置2还可以包括:部署请求接收模块25,合约创建模块26,结果返回模块27,上链模块28;
恢复请求接收模块21,用于接收终端设备发送的密钥恢复请求;密钥恢复请求包括针对密码信息的零知识证明和合约地址;零知识证明是终端设备在资源客户端中所生成;密码信息用于证明终端设备对区块链私钥的控制权;区块链私钥属于终端设备在资源客户端中所生成的区块链账户;
验证模块22,用于调用合约地址对应的抽象账户智能合约对零知识证明进行验证,得到验证结果,若验证结果指示验证成功,则记录密钥恢复请求具有恢复权限;抽象账户智能合约是终端设备部署在区块链上;
其中,密钥恢复请求还包括验证密钥;验证密钥是终端设备在资源客户端中生成零知识证明时所生成;
验证模块22,具体用于调用合约地址对应的抽象账户智能合约获取验证密钥和公开参数;公开参数包括私钥恢复凭证;
验证模块22,具体用于通过验证密钥和公开参数对零知识证明进行验证,得到验证结果;
验证模块22,还具体用于将验证结果返回至终端设备;若验证结果指示验证成功,则终端设备用于发送密钥修改请求。
修改请求接收模块23,用于接收终端设备发送的密钥修改请求;密钥修改请求是终端设备根据更新区块链账户和更新区块链账户对应的更新密码信息所发送;更新区块链账户和更新密码信息是终端设备在资源客户端中所生成;更新区块链账户包括更新区块链私钥;更新密码信息用于证明终端设备对更新区块链私钥的控制权;
校验模块24,用于根据具有恢复权限的密钥恢复请求和抽象账户智能合约对密钥修改请求进行校验,得到校验结果,若校验结果指示校验成功,则确定更新区块链账户和更新密码信息恢复成功。
其中,密钥修改请求包括更新验证密钥、针对更新密码信息的更新零知识证明、更新私钥恢复凭证、更新区块链账户对应的更新区块链地址和合约地址;更新零知识证明和更新验证密钥是终端设备在资源客户端中所生成;更新私钥恢复凭证是终端设备根据更新区块链账户和更新密码信息在资源客户端中所生成;
校验模块24,具体用于确定具有恢复权限的密钥恢复请求对应的第一时间戳和接收密钥修改请求的第二时间戳之间的时间间隔;
校验模块24,具体用于根据时间间隔和时间周期阈值,生成候选校验结果;
校验模块24,具体用于若候选校验结果指示校验成功,则调用合约地址对应的抽象账户智能合约获取更新验证密钥和更新公开参数;更新公开参数包括更新私钥恢复凭证;
校验模块24,具体用于通过更新验证密钥和更新公开参数对更新零知识证明进行验证,得到校验结果;
校验模块24,还具体用于若校验结果指示校验成功,则对更新区块链地址和更新私钥恢复凭证进行存储。
可选的,部署请求接收模块25,用于接收终端设备发送的合约部署请求;合约部署请求包括资源客户端中的区块链账户对应的私钥恢复凭证、区块链账户对应的区块链地址和合约部署代码;私钥恢复凭证是终端设备根据区块链账户和区块链账户对应的密码信息在资源客户端中所生成;
合约创建模块26,用于创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储;私钥恢复凭证用于对零知识证明进行验证;
其中,合约部署操作包括合约部署信息和合约部署信息对应的终端签名信息;终端签名信息是终端设备通过区块链私钥对合约部署信息进行签名处理所得到;合约部署信息包括私钥恢复凭证、区块链地址和合约部署代码;
合约创建模块26,具体用于调用入口点合约对交易数据和节点签名信息进行验签处理,得到第一验签结果,若第一验签结果指示验签成功,则调用工厂合约创建合约部署代码对应的抽象账户智能合约;
合约创建模块26,具体用于调用抽象账户智能合约对合约部署信息和终端签名信息进行验签处理,得到第二验签结果,若第二验签结果指示验签成功,则对区块链地址和私钥恢复凭证进行存储。
结果返回模块27,用于根据抽象账户智能合约对应的合约地址生成合约部署结果,向终端设备返回合约部署结果。
可选的,合约部署请求包括合约部署操作;
上链模块28,用于将合约部署操作打包为交易数据,对交易数据进行签名处理,得到交易数据对应的节点签名信息;
上链模块28,用于对交易数据和节点签名信息进行上链处理,得到上链结果;
上链模块28,用于若上链结果指示上链成功,则执行创建合约部署代码对应的抽象账户智能合约,对区块链地址和私钥恢复凭证进行存储的步骤。
其中,恢复请求接收模块21,验证模块22,修改请求接收模块23,校验模块24,部署请求接收模块25,合约创建模块26,结果返回模块27,上链模块28的具体实现方式,可以参见上述图4所对应实施例中对步骤S201-步骤S204和图7所对应实施例中对步骤S301-步骤S314的描述,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以是终端设备或服务器。如图11所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3、图4和图7所对应实施例中对数据处理方法的描述,也可执行前文图9所对应实施例中对数据处理装置1和图10所对应实施例中对数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1和数据处理装置2所执行的计算机程序,当处理器执行计算机程序时,能够执行前文图3、图4和图7所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品,该计算机程序产品可以包括计算机程序,该计算机程序可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器可以执行该计算机程序,使得该计算机设备执行前文图3、图4和图7所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (17)
1.一种基于区块链的数据处理方法,其特征在于,包括:
在资源客户端中生成针对密码信息的零知识证明;所述密码信息用于证明所述资源客户端所属的终端设备对区块链私钥的控制权;所述区块链私钥属于在所述资源客户端中所生成的区块链账户;
向所述区块链中的区块链节点发送密钥恢复请求;所述密钥恢复请求包括所述零知识证明和合约地址;所述区块链节点用于调用所述合约地址对应的抽象账户智能合约对所述零知识证明进行验证,得到验证结果;若所述验证结果指示验证成功,则所述区块链节点用于记录所述密钥恢复请求具有恢复权限;所述抽象账户智能合约是所述终端设备部署在所述区块链上;
在所述资源客户端中生成更新区块链账户和所述更新区块链账户对应的更新密码信息;所述更新区块链账户包括更新区块链私钥;所述更新密码信息用于证明所述终端设备对所述更新区块链私钥的控制权;
根据所述更新区块链账户和所述更新密码信息,向所述区块链节点发送密钥修改请求;所述区块链节点用于根据具有恢复权限的所述密钥恢复请求和所述抽象账户智能合约对所述密钥修改请求进行校验,得到校验结果;若所述校验结果指示校验成功,则所述区块链节点确定所述更新区块链账户和所述更新密码信息恢复成功。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据资源客户端中的区块链账户和所述区块链账户对应的密码信息,在所述资源客户端中生成所述区块链账户对应的私钥恢复凭证;
向所述区块链中的区块链节点发送合约部署请求;所述合约部署请求包括所述私钥恢复凭证、所述区块链账户对应的区块链地址和合约部署代码;所述区块链节点用于创建所述合约部署代码对应的抽象账户智能合约;所述区块链节点还用于对所述区块链地址和所述私钥恢复凭证进行存储;所述私钥恢复凭证用于对零知识证明进行验证;
接收所述区块链节点返回的合约部署结果;所述合约部署结果包括所述抽象账户智能合约对应的合约地址。
3.根据权利要求2所述的方法,其特征在于,所述根据资源客户端中的区块链账户和所述区块链账户对应的密码信息,在所述资源客户端中生成所述区块链账户对应的私钥恢复凭证,包括:
对资源客户端中的区块链账户对应的区块链地址和所述区块链账户对应的密码信息进行拼接,生成拼接字符串;
在所述资源客户端对所述拼接字符串进行哈希处理,生成所述区块链账户对应的私钥恢复凭证。
4.根据权利要求2所述的方法,其特征在于,所述在资源客户端中生成针对密码信息的零知识证明,包括:
在资源客户端中获取密钥信息、公开参数和隐私参数;所述密钥信息包括证明密钥和验证密钥;所述公开参数包括所述私钥恢复凭证;所述隐私参数包括所述密码信息;所述证明密钥和所述验证密钥是在所述资源客户端中所生成;
根据所述密钥信息、所述公开参数和所述隐私参数,生成针对所述密码信息的零知识证明。
5.根据权利要求1所述的方法,其特征在于,所述根据所述更新区块链账户和所述更新密码信息,向所述区块链节点发送密钥修改请求,包括:
根据所述更新区块链账户和所述更新密码信息,在所述资源客户端中生成所述更新区块链账户对应的更新私钥恢复凭证;
在所述资源客户端中获取更新密钥信息、更新公开参数和更新隐私参数;所述更新密钥信息包括更新证明密钥和更新验证密钥;所述更新公开参数包括所述更新私钥恢复凭证;所述更新隐私参数包括所述更新密码信息;所述更新证明密钥和所述更新验证密钥是在所述资源客户端中所生成;
根据所述更新密钥信息、所述更新公开参数和所述更新隐私参数,生成针对所述更新密码信息的更新零知识证明;
向所述区块链节点发送密钥修改请求;所述密钥修改请求包括所述更新验证密钥、所述更新零知识证明、所述更新私钥恢复凭证、所述更新区块链账户对应的更新区块链地址和所述合约地址。
6.根据权利要求2所述的方法,其特征在于,所述向所述区块链中的区块链节点发送合约部署请求,包括:
在所述资源客户端中生成合约部署信息,通过所述区块链私钥对所述合约部署信息进行签名处理,得到所述合约部署信息对应的终端签名信息;所述合约部署信息包括所述私钥恢复凭证、所述区块链账户对应的区块链地址和合约部署代码;
将所述终端签名信息和所述合约部署信息确定为合约部署操作,向所述区块链中的区块链节点发送携带所述合约部署操作的合约部署请求。
7.一种基于区块链的数据处理方法,其特征在于,包括:
接收终端设备发送的密钥恢复请求;所述密钥恢复请求包括针对密码信息的零知识证明和合约地址;所述零知识证明是所述终端设备在资源客户端中所生成;所述密码信息用于证明所述终端设备对区块链私钥的控制权;所述区块链私钥属于所述终端设备在所述资源客户端中所生成的区块链账户;
调用所述合约地址对应的抽象账户智能合约对所述零知识证明进行验证,得到验证结果,若所述验证结果指示验证成功,则记录所述密钥恢复请求具有恢复权限;所述抽象账户智能合约是所述终端设备部署在所述区块链上;
接收所述终端设备发送的密钥修改请求;所述密钥修改请求是所述终端设备根据更新区块链账户和所述更新区块链账户对应的更新密码信息所发送;所述更新区块链账户和所述更新密码信息是所述终端设备在所述资源客户端中所生成;所述更新区块链账户包括更新区块链私钥;所述更新密码信息用于证明所述终端设备对所述更新区块链私钥的控制权;
根据具有恢复权限的所述密钥恢复请求和所述抽象账户智能合约对所述密钥修改请求进行校验,得到校验结果,若所述校验结果指示校验成功,则确定所述更新区块链账户和所述更新密码信息恢复成功。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的合约部署请求;所述合约部署请求包括资源客户端中的区块链账户对应的私钥恢复凭证、所述区块链账户对应的区块链地址和合约部署代码;所述私钥恢复凭证是所述终端设备根据所述区块链账户和所述区块链账户对应的密码信息在所述资源客户端中所生成;
创建所述合约部署代码对应的所述抽象账户智能合约,对所述区块链地址和所述私钥恢复凭证进行存储;所述私钥恢复凭证用于对零知识证明进行验证;
根据所述抽象账户智能合约对应的合约地址生成合约部署结果,向所述终端设备返回所述合约部署结果。
9.根据权利要求8所述的方法,其特征在于,所述密钥恢复请求还包括验证密钥;所述验证密钥是所述终端设备在所述资源客户端中生成所述零知识证明时所生成;
所述调用所述合约地址对应的抽象账户智能合约对所述零知识证明进行验证,得到验证结果,包括:
调用所述合约地址对应的抽象账户智能合约获取所述验证密钥和公开参数;所述公开参数包括所述私钥恢复凭证;
通过所述验证密钥和所述公开参数对所述零知识证明进行验证,得到验证结果;
所述方法还包括:
将所述验证结果返回至所述终端设备;若所述验证结果指示验证成功,则所述终端设备用于发送所述密钥修改请求。
10.根据权利要求7所述的方法,其特征在于,所述密钥修改请求包括所述更新验证密钥、针对所述更新密码信息的更新零知识证明、更新私钥恢复凭证、所述更新区块链账户对应的更新区块链地址和所述合约地址;所述更新零知识证明和所述更新验证密钥是所述终端设备在所述资源客户端中所生成;所述更新私钥恢复凭证是所述终端设备根据所述更新区块链账户和所述更新密码信息在所述资源客户端中所生成;
所述根据具有恢复权限的所述密钥恢复请求和所述抽象账户智能合约对所述密钥修改请求进行校验,得到校验结果,包括:
确定具有恢复权限的所述密钥恢复请求对应的第一时间戳和接收所述密钥修改请求的第二时间戳之间的时间间隔;
根据所述时间间隔和时间周期阈值,生成候选校验结果;
若所述候选校验结果指示校验成功,则调用所述合约地址对应的所述抽象账户智能合约获取所述更新验证密钥和更新公开参数;所述更新公开参数包括所述更新私钥恢复凭证;
通过所述更新验证密钥和所述更新公开参数对所述更新零知识证明进行验证,得到校验结果;
所述方法还包括:
若所述校验结果指示校验成功,则对所述更新区块链地址和所述更新私钥恢复凭证进行存储。
11.根据权利要求8所述的方法,其特征在于,所述合约部署请求包括合约部署操作;
所述方法还包括:
将所述合约部署操作打包为交易数据,对所述交易数据进行签名处理,得到所述交易数据对应的节点签名信息;
对所述交易数据和所述节点签名信息进行上链处理,得到上链结果;
若所述上链结果指示上链成功,则执行所述创建所述合约部署代码对应的所述抽象账户智能合约,对所述区块链地址和所述私钥恢复凭证进行存储的步骤。
12.根据权利要求11所述的方法,其特征在于,所述合约部署操作包括合约部署信息和所述合约部署信息对应的终端签名信息;所述终端签名信息是所述终端设备通过所述区块链私钥对所述合约部署信息进行签名处理所得到;所述合约部署信息包括所述私钥恢复凭证、所述区块链地址和所述合约部署代码;
所述创建所述合约部署代码对应的所述抽象账户智能合约,对所述区块链地址和所述私钥恢复凭证进行存储,包括:
调用入口点合约对所述交易数据和所述节点签名信息进行验签处理,得到第一验签结果,若所述第一验签结果指示验签成功,则调用工厂合约创建所述合约部署代码对应的所述抽象账户智能合约;
调用所述抽象账户智能合约对所述合约部署信息和所述终端签名信息进行验签处理,得到第二验签结果,若所述第二验签结果指示验签成功,则对所述区块链地址和所述私钥恢复凭证进行存储。
13.一种基于区块链的数据处理装置,其特征在于,包括:
证明生成模块,用于在资源客户端中生成针对密码信息的零知识证明;所述密码信息用于证明所述资源客户端所属的终端设备对区块链私钥的控制权;所述区块链私钥属于在所述资源客户端中所生成的区块链账户;
恢复请求发送模块,用于向所述区块链中的区块链节点发送密钥恢复请求;所述密钥恢复请求包括所述零知识证明和合约地址;所述区块链节点用于调用所述合约地址对应的抽象账户智能合约对所述零知识证明进行验证,得到验证结果;若所述验证结果指示验证成功,则所述区块链节点用于记录所述密钥恢复请求具有恢复权限;所述抽象账户智能合约是所述终端设备部署在所述区块链上;
账户生成模块,用于在所述资源客户端中生成更新区块链账户和所述更新区块链账户对应的更新密码信息;所述更新区块链账户包括更新区块链私钥;所述更新密码信息用于证明所述终端设备对所述更新区块链私钥的控制权;
修改请求发送模块,用于根据所述更新区块链账户和所述更新密码信息,向所述区块链节点发送密钥修改请求;所述区块链节点用于根据具有恢复权限的所述密钥恢复请求和所述抽象账户智能合约对所述密钥修改请求进行校验,得到校验结果;若所述校验结果指示校验成功,则所述区块链节点确定所述更新区块链账户和所述更新密码信息恢复成功。
14.一种基于区块链的数据处理装置,其特征在于,包括:
恢复请求接收模块,用于接收终端设备发送的密钥恢复请求;所述密钥恢复请求包括针对密码信息的零知识证明和合约地址;所述零知识证明是所述终端设备在资源客户端中所生成;所述密码信息用于证明所述终端设备对区块链私钥的控制权;所述区块链私钥属于所述终端设备在所述资源客户端中所生成的区块链账户;
验证模块,用于调用所述合约地址对应的抽象账户智能合约对所述零知识证明进行验证,得到验证结果,若所述验证结果指示验证成功,则记录所述密钥恢复请求具有恢复权限;所述抽象账户智能合约是所述终端设备部署在所述区块链上;
修改请求接收模块,用于接收所述终端设备发送的密钥修改请求;所述密钥修改请求是所述终端设备根据更新区块链账户和所述更新区块链账户对应的更新密码信息所发送;所述更新区块链账户和所述更新密码信息是所述终端设备在所述资源客户端中所生成;所述更新区块链账户包括更新区块链私钥;所述更新密码信息用于证明所述终端设备对所述更新区块链私钥的控制权;
校验模块,用于根据具有恢复权限的所述密钥恢复请求和所述抽象账户智能合约对所述密钥修改请求进行校验,得到校验结果,若所述校验结果指示校验成功,则确定所述更新区块链账户和所述更新密码信息恢复成功。
15.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与所述存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,且适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311507734.4A CN119995886A (zh) | 2023-11-13 | 2023-11-13 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311507734.4A CN119995886A (zh) | 2023-11-13 | 2023-11-13 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119995886A true CN119995886A (zh) | 2025-05-13 |
Family
ID=95639875
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311507734.4A Pending CN119995886A (zh) | 2023-11-13 | 2023-11-13 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119995886A (zh) |
-
2023
- 2023-11-13 CN CN202311507734.4A patent/CN119995886A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113691597B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
| CN112287034B (zh) | 一种数据同步方法、设备以及计算机可读存储介质 | |
| CN112446785A (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
| CN111444273B (zh) | 一种基于区块链的数据授权方法以及装置 | |
| CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
| CN111835514A (zh) | 一种前后端分离数据安全交互的实现方法及系统 | |
| CN113469811B (zh) | 区块链交易处理方法及装置 | |
| CN116975901A (zh) | 基于区块链的身份验证方法、装置、设备、介质及产品 | |
| CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
| CN119067658A (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
| CN117014176A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
| CN118396751A (zh) | 资产证明方法及装置 | |
| CN117370463A (zh) | 基于区块链的数据存证方法、装置及存储介质 | |
| CN119995886A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
| CN117792616A (zh) | 基于区块链的秘钥管理方法、装置、设备、介质及程序 | |
| CN117997519A (zh) | 数据处理方法、装置、程序产品、计算机设备和介质 | |
| CN115375303A (zh) | 智能合约的调用方法、装置、计算机可读介质及电子设备 | |
| CN117040766B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
| CN117040930B (zh) | 区块链网络的资源处理方法、装置、产品、设备和介质 | |
| CN118839362B (zh) | 基于区块链的投标文件处理系统 | |
| CN120975914A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
| CN117557261A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
| CN119151535A (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
| CN117454359A (zh) | 数据处理方法、装置、设备以及介质 | |
| CN118467626A (zh) | 一种数据处理方法、装置、设备以及可读存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication |