1.一种通用钱包找回方法,其特征在于,区块链为非比特币区块链,比特币脚本验证类型的交易的签名数据中增设有UtxoSequence字段,所述方法适用于客户端,所述方法包括:根据当前用户的主账户的第一公钥、当前用户的备用账户的第二公钥、第一钱包找回时长生成第一钱包找回锁定脚本,根据所述第一钱包找回锁定脚本生成第一钱包找回公钥,根据所述第一钱包找回公钥生成第一钱包找回地址;
响应于所述主账户的第一私钥丢失,生成未签名的第一钱包找回交易;其中,所述第一钱包找回交易的第一交易发起方地址为所述第一钱包找回地址;
根据所述未签名的第一钱包找回交易生成第一临时比特币交易;其中,所述第一临时比特币交易只包括一个输入UTXO,所述第一临时比特币交易的输入UTXO的第一索引哈希为所述未签名的第一钱包找回交易的第一交易哈希,所述第一临时比特币交易的Sequence配置为所述第一钱包找回时长;
根据所述第一临时比特币交易,所述第一钱包找回锁定脚本和所述备用账户的第二私钥生成第一签名数据,并根据所述第一签名数据生成第一钱包找回解锁脚本;
根据所述第一钱包找回锁定脚本、所述第一钱包找回解锁脚本、比特币签名验证标识、所述第一钱包找回公钥生成所述未签名的第一钱包找回交易的第二签名数据;其中,所述第二签名数据的UtxoSequence配置为所述第一钱包找回时长;
根据所述未签名的第一钱包找回交易和所述第二签名数据生成完整的第一钱包找回交易;
根据所述完整的第一钱包找回交易生成第一钱包找回存证交易;其中,所述第一钱包找回存证交易的payload包括所述完整的第一钱包找回交易;
将所述第一钱包找回存证交易发送至区块链网络,以供区块链节点:
在执行打包有所述第一钱包找回存证交易的第一区块,并判断出所述第一钱包找回存证交易为需要延时执行的第一类交易时,扣除所述第一钱包找回存证交易的手续费,将所述第一钱包找回存证交易记录到区块链上,并将所述完整的所述第一钱包找回交易存储至本地;
在执行打包有所述完整的第一钱包找回交易的第二区块时,根据所述第一区块的区块打包时刻、所述第一钱包找回时长计算所述完整的第一钱包找回交易的起始打包时刻;
根据所述完整的第一钱包找回交易中的所述比特币签名验证标识判断所述完整的第一钱包找回交易是否为比特币脚本验证类型的交易,判断所述完整的第一钱包找回交易中的第一钱包找回公钥与所述完整的第一钱包找回交易中的第一交易发起方地址是否匹配,判断所述完整的第一钱包找回交易中的第一钱包找回锁定脚本与所述完整的第一钱包找回交易中的第一钱包找回公钥是否匹配,判断当前区块时刻是否已达到所述起始打包时刻;
在上述判断均为是时,生成第二临时比特币交易;其中,所述第二临时比特币交易只包括一个输入UTXO,所述第二临时比特币交易的输入UTXO的第二索引哈希为所述第一交易哈希,所述第二临时比特币交易的Sequence配置为所述所述第一钱包找回时长;
调用比特币区块链接口根据所述完整的第一钱包找回交易中的第一钱包找回锁定脚本、所述完整的第一钱包找回交易中的第一钱包找回解锁脚本、所述第二临时比特币交易判断当前区块时刻是否已达到所述起始打包时刻:是,则执行所述完整的第一钱包找回交易以执行所述第二区块。
2.根据权利要求1所述的方法,其特征在于,在所述第一私钥未丢失时,所述方法还包括:生成未签名的第一转账交易;
根据所述未签名的第一转账交易生成第三临时比特币交易;其中,所述第三临时比特币交易只包括一个输入UTXO,所述第三临时比特币交易的输入UTXO的第三索引哈希为所述未签名的第一转账交易的第三交易哈希;
根据所述第三临时比特币交易,所述第一钱包找回锁定脚本和所述第一私钥生成第三签名数据,并根据所述第三签名数据生成第三钱包找回解锁脚本;
根据所述第一钱包找回锁定脚本、所述第三钱包找回解锁脚本、比特币签名验证标识、所述第一钱包找回公钥生成所述未签名的第一转账交易的第四签名数据;
根据所述未签名的第一转账交易和所述第四签名数据生成完整的第一转账交易;
将所述完整的第一转账交易发送至区块链网络,以供区块链节点:
根据所述完整的第一转账交易中的所述比特币签名验证标识判断所述完整的第一转账交易是否为比特币脚本验证类型的交易,判断所述完整的第一转账交易中的第一钱包找回公钥与所述完整的第一转账交易中的第一交易发起方地址是否匹配,判断所述完整的第一转账交易中的第一钱包找回锁定脚本与所述完整的第一转账交易中的第一钱包找回公钥是否匹配;
在上述判断均为是时,生成第四临时比特币交易;其中,所述第四临时比特币交易只包括一个输入UTXO,所述第四临时比特币交易的输入UTXO的第四索引哈希为所述第三交易哈希;
调用比特币区块链接口、所述第四临时比特币交易执行所述完整的第一转账交易中的第一钱包找回锁定脚本和所述完整的第一转账交易中的第三钱包找回解锁脚本,在执行通过时,执行所述完整的第一转账交易。
3.根据权利要求2所述的方法,其特征在于,所述根据当前用户的主账户的第一公钥、当前用户的备用账户的第二公钥、第一钱包找回时长生成第一钱包找回锁定脚本包括:生成所述第一钱包找回锁定脚本S1,S1=OP_IF
所述根据所述第一临时比特币交易,所述第一钱包找回锁定脚本和所述备用账户的第二私钥生成第一签名数据,并根据所述第一签名数据生成第一钱包找回解锁脚本包括:根据tx3,所述S1和pri(B)生成第一签名数据
根据
所述调用比特币区块链接口根据所述完整的第一钱包找回交易中的第一钱包找回锁定脚本、所述完整的第一钱包找回交易中的第一钱包找回解锁脚本、所述第二临时比特币交易判断当前区块时刻是否已达到所述起始打包时刻包括:调用比特币区块链接口、tx4执行:
4.根据权利要求3所述的方法,其特征在于,所述根据所述第三临时比特币交易,所述第一钱包找回锁定脚本和所述第一私钥生成第三签名数据,并根据所述第三签名数据生成第三钱包找回解锁脚本包括:根据tx5,所述S1和pri(A)生成第三签名数据
根据
所述调用比特币区块链接口、所述第四临时比特币交易执行所述完整的第一转账交易中的第一钱包找回锁定脚本和所述完整的第一转账交易中的第三钱包找回解锁脚本包括:调用比特币区块链接口、tx6执行:
5.根据权利要求1-4任一项所述的方法,其特征在于,所述响应于所述主账户的第一私钥丢失,生成未签名的第一钱包找回交易前,还包括:生成第二转账交易;其中,所述第二转账交易的交易接收方地址为所述第一钱包找回交易地址;
将所述第二转账交易发送至区块链网络,以供区块链节点:在执行所述第二转账交易成功时,将所述第二转账交易指定的通证划转至所述第一钱包找回交易地址。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述第一钱包找回锁定脚本生成第一钱包找回公钥,根据所述第一钱包找回公钥生成第一钱包找回地址包括:对所述第一钱包找回锁定脚本进行哈希运算以生成第一钱包找回公钥;
对所述第一钱包找回公钥进行哈希运算以生成第一钱包找回地址;
所述判断所述完整的第一钱包找回交易中的第一钱包找回公钥与所述完整的第一钱包找回交易中的第一交易发起方地址是否匹配,判断所述完整的第一钱包找回交易中的第一钱包找回锁定脚本与所述完整的第一钱包找回交易中的第一钱包找回公钥是否匹配包括:对所述完整的第一钱包找回交易中的第一钱包找回公钥进行哈希运算,判断哈希运算后的值与所述完整的第一钱包找回交易中的第一交易发起方地址是否相同;
对所述完整的第一钱包找回交易中的第一钱包找回锁定脚本进行哈希运算,判断哈希运算后的值与所述完整的第一钱包找回交易中的第一钱包找回公钥是否相同。
7.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-6中任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。