本发明专利技术适用于移动支付技术领域,尤其涉及一种区块链数字钱包的快速授权方法、系统及相关设备,所述方法包括:在区块链下数字钱包中确定用于支付业务的链下授权参数,并将链下授权参数根据预设编码方式封装为零知识证明,同时使用预设签名算法对零知识证明进行签名,得到具有时间戳和公钥数据的;将链下签名数据进行上链,进行区块链上数字钱包的解锁;在区块链下数字钱包中根据零知识证明计算出零知识证明授权数据,并利用零知识证明授权数据对区块链上数字钱包进行授权,之后,执行支付业务。本发明专利技术将区块链数字钱包的整体验证分为链下授权、链上验证的非交互式零知识证明的过程,保障了账户的独立性和安全性。保障了账户的独立性和安全性。保障了账户的独立性和安全性。
【技术实现步骤摘要】
区块链数字钱包的快速授权方法、系统及相关设备
[0001]本专利技术适用于移动支付
,尤其涉及一种区块链数字钱包的快速授权方法、系统及相关设备。
技术介绍
[0002]区块链数字钱包是用户证明对数字资产所有权的重要工具。现有的区块链业务主要是基于联盟链实现,其中,数字钱包方案一般根据企业的区块链账户进行交易,或者是托管用户的钱包进行交易。在现有方案中,再利用数字钱包进行交易时,由于存在上链的需求,使得验证过程和交易过程中频繁进行验证,导致交易效率低;同时,用户的数字钱包没有使用公、私钥对和数字签名等技术保障用户真正的资产所有权,降低了区块链的去中心化程度,并且托管钱包安全性较低,需要防范外部网络的攻击和内部人员的攻击,具有安全风险。
技术实现思路
[0003]本专利技术实施例提供一种区块链数字钱包的快速授权方法、系统及相关设备,旨在解决现有的区块链数字钱包存在的验证效率低、安全性低的技术问题。
[0004]第一方面,本专利技术实施例提供一种区块链数字钱包的快速授权方法,所述快速授权方法包括以下步骤:
[0005]在区块链下数字钱包中确定用于支付业务的链下授权参数,并将所述链下授权参数根据预设编码方式封装为零知识证明,同时使用预设签名算法对所述零知识证明进行签名,得到链下签名数据,其中,所述链下签名数据具有时间戳和公钥数据;
[0006]将所述链下签名数据进行上链,进行区块链上数字钱包的解锁;
[0007]在所述区块链下数字钱包中根据所述零知识证明计算出零知识证明授权数据,并利用所述零知识证明授权数据对所述区块链上数字钱包进行授权,之后,执行所述支付业务。
[0008]更进一步地,将所述链下授权参数根据预设编码方式封装为零知识证明的步骤,包括以下子步骤:
[0009]判断所述区块链下数字钱包是否为第一次使用,其中:
[0010]若是,则根据随机数和米勒
‑
拉宾算法计算出素数循环群,并在所述素数循环群中随机生成用于计算所述零知识证明的计算参数,同时将所述计算参数作为默认参数,之后,将所述计算参数和所述链下授权参数根据所述预设编码方式封装为所述零知识证明;
[0011]若否,则将所述默认参数和所述链下授权参数封装为所述零知识证明。
[0012]更进一步地,在将所述链下签名数据进行上链,进行区块链上数字钱包的解锁的步骤前,还包括以下步骤:
[0013]验证所述时间戳,根据链上历史验证记录判断所述时间戳的时间是否大于任意的所述链上历史验证记录的时间,若是,则所述时间戳验证通过;
[0014]验证所述公钥数据,根据链上公钥数据判断所述公钥数据是否与之相同,若是,则所述公钥数据验证通过;
[0015]验证所述零知识证明,判断所述零知识证明的编码是否满足所述预设编码方式,若是,则所述零知识证明验证通过;
[0016]其中,若所述时间戳、所述公钥数据、所述零知识证明的编码中的至少一种验证不通过时,反馈所述区块链上数字钱包的解锁无效。
[0017]更进一步地,在所述区块链下数字钱包中根据所述零知识证明计算出零知识证明授权数据的步骤后,还包括步骤:
[0018]通过取值递减的方式更新所述默认参数。
[0019]更进一步地,所述零知识证明基于Fiat
‑
Shamir零知识证明实现。
[0020]更进一步地,所述预设编码方式基于EIP
‑
712实现。
[0021]更进一步地,所述预设签名算法为椭圆曲线数字签名算法。
[0022]第二方面,本专利技术实施例还提供一种区块链数字钱包的快速授权系统,所述快速授权系统包括:
[0023]链下签名模块,用于在区块链下数字钱包中确定用于支付业务的链下授权参数,并将所述链下授权参数根据预设编码方式封装为零知识证明,同时使用预设签名算法对所述零知识证明进行签名,得到链下签名数据,其中,所述链下签名数据具有时间戳和公钥数据;
[0024]链上解锁模块,用于将所述链下签名数据进行上链,进行区块链上数字钱包的解锁;
[0025]链上授权模块,用于在所述区块链下数字钱包中根据所述零知识证明计算出零知识证明授权数据,并利用所述零知识证明授权数据对所述区块链上数字钱包进行授权,之后,执行所述支付业务。
[0026]第三方面,本专利技术实施例还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例中任意一项所述的区块链数字钱包的快速授权方法中的步骤。
[0027]第四方面,本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中任意一项所述的区块链数字钱包的快速授权方法中的步骤。
[0028]本专利技术所达到的有益效果,在于将区块链数字钱包的整体验证分为链下授权、链上验证的非交互式零知识证明的过程,首先通过在初始化签名区块链上数字钱包,确认用户身份后,再在链上使用零知识证明证据进行后续验证,无需支付方重复数字签名,保障了账户的独立性和安全性,同时在流程和协议上都提高了效率;并且,通过引入零知识证明至验证过程中,利用证据有效期短、变化频繁的特性,也提高了区块链数字钱包的交易安全性。
附图说明
[0029]图1是本专利技术实施例提供的区块链数字钱包的快速授权方法的步骤流程框图;
[0030]图2是本专利技术实施例提供的区块链数字钱包的快速授权系统200的结构示意图;
[0031]图3是本专利技术实施例提供的计算机设备的结构示意图。
具体实施方式
[0032]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0033]请参照图1,图1是本专利技术实施例提供的区块链数字钱包的快速授权方法的步骤流程框图,所述快速授权方法包括以下步骤:
[0034]S101、在区块链下数字钱包中确定用于支付业务的链下授权参数,并将所述链下授权参数根据预设编码方式封装为零知识证明,同时使用预设签名算法对所述零知识证明进行签名,得到链下签名数据,其中,所述链下签名数据具有时间戳和公钥数据。
[0035]具体的,在本专利技术实施例中,所述区块链下数字钱包用于在进行区块链上链前进行钱包的初始化和管理,签名内容的封装,零知识证明参数的初始化与计算。在一种典型的使用场景中,步骤S101为区块链数字钱包的用户在向服务方授权钱包的交易前,为了将区块链数据钱包连接至区块链所进行的准备。
[0036]更进一步地,所述零知识证明基于Fiat
‑
Shamir零知识证明实现。零知识证明可以让证明方在不透露任何实际信息的情况下向验证方证明某保密信息或声明的真实性,而Fiat
‑
Shami本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种区块链数字钱包的快速授权方法,其特征在于,所述快速授权方法包括以下步骤:在区块链下数字钱包中确定用于支付业务的链下授权参数,并将所述链下授权参数根据预设编码方式封装为零知识证明,同时使用预设签名算法对所述零知识证明进行签名,得到链下签名数据,其中,所述链下签名数据具有时间戳和公钥数据;将所述链下签名数据进行上链,进行区块链上数字钱包的解锁;在所述区块链下数字钱包中根据所述零知识证明计算出零知识证明授权数据,并利用所述零知识证明授权数据对所述区块链上数字钱包进行授权,之后,执行所述支付业务。2.如权利要求1所述的区块链数字钱包的快速授权方法,其特征在于,将所述链下授权参数根据预设编码方式封装为零知识证明的步骤,包括以下子步骤:判断所述区块链下数字钱包是否为第一次使用,其中:若是,则根据随机数和米勒
‑
拉宾算法计算出素数循环群,并在所述素数循环群中随机生成用于计算所述零知识证明的计算参数,同时将所述计算参数作为默认参数,之后,将所述计算参数和所述链下授权参数根据所述预设编码方式封装为所述零知识证明;若否,则将所述默认参数和所述链下授权参数封装为所述零知识证明。3.如权利要求2所述的区块链数字钱包的快速授权方法,其特征在于,在将所述链下签名数据进行上链,进行区块链上数字钱包的解锁的步骤前,还包括以下步骤:验证所述时间戳,根据链上历史验证记录判断所述时间戳的时间是否大于任意的所述链上历史验证记录的时间,若是,则所述时间戳验证通过;验证所述公钥数据,根据链上公钥数据判断所述公钥数据是否与之相同,若是,则所述公钥数据验证通过;验证所述零知识证明,判断所述零知识证明的编码是否满足所述预设编码方式,若是,则所述零知识证明验证通过;其中,若所述时间戳、所述公钥数据、所述零知识证明的编码中的至少一种验证不通过时,反馈所述区块链上数字钱包的解锁无效。4.如权...
【专利技术属性】
技术研发人员:吴培皞,林霖,赵建,荆丽雯,相韶华,
申请(专利权)人:深圳技术大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。