本发明属于区块链,具体涉及一种高效可监管的匿名区块链交易方法和系统。
背景技术:
1、区块链是一种分布式数据库技术,用于记录和存储数字交易的信息。以以太坊为例,用户使用假名地址与其他用户进行交易,虽然假名机制提供了一定的隐私保护能力,但是这类区块链的交易池和区块信息以明文形式公开,这意味着,攻击者可以通过分析链上交易信息来建立用户地址之间的关联性,进一步地,如果攻击者能够获取到链下相关信息,甚至可以获取到用户的真实身份,为用户隐私保护带来了巨大的风险。
2、为了更好地保护交易者的隐私,研究人员开发了匿名交易的区块链,如monero和zcash,它们使用密码学方法保护交易发送者和接收者的隐私,这使得交易在区块链上变得难以追踪,从而大大增强了用户的隐私保护能力。然而,由于匿名交易区块链的去中心化特性,意味着交易不容易被追踪,这使得财务活动很难被监视或审查。这种匿名性也会滋生非法活动。
3、在现实生活中,监管者例如审计部门或者银行能掌握每个用户的消费记录,能对金额异常的用户直接实施监控。但是在去中心化的匿名交易系统中,交易金额的大小无法分辨、交易双方的身份也无法建立关联,这使得监管者难以对非法活动进行有效的打击。
4、为了应对这一问题,需要设计一种既能够保护用户隐私,又能够被有效监管的匿名区块链交易系统。一种可行的方法是限制匿名交易区块链中用户的转账能力,这就需要引入一个监管机构定期确认用户消费总金额是否小于预设的上限,这样,即使交易是匿名的,但用户的转账能力仍然受到一定的限制,从而降低了非法活动的风险。目前使用的方案需要用户在交易时附带一个假名标签,监管者使用自己的抽取密钥恢复出用户的真实身份,这种方案需要监管者实时在线并同步区块链信息以处理每一条交易,这对监管者的运算能力和通讯能力提出了极大的挑战。
5、因此,设计一种高效可监管的匿名区块链交易方法和系统对于防范违法金融行为和扩大监管能力等方面有重要意义。
技术实现思路
1、鉴于上述,本发明的目的是提供一种高效可监管的匿名区块链交易方法和系统,实现了在保证原有匿名区块链交易系统安全性不变的前提下,加入监管方限制固定周期内金额流动,增强了防范非法交易的监管能力。
2、为实现上述发明目的,本发明提供的技术方案如下:
3、本发明实施例提供的一种高效可监管的匿名区块链交易方法,包括以下步骤:
4、利用基于walsh码的承诺算法生成公开参数并进行用户初始化;
5、基于原生匿名交易区块链生成匿名交易和零知识证明,利用基于walsh码的承诺算法和公开参数计算承诺,将匿名交易、零知识证明和承诺打包为隐私交易;
6、矿工验证隐私交易中的匿名交易和零知识证明,验证通过后将隐私交易加入待打包隐私交易集合中;
7、对待打包隐私交易集合中的所有匿名交易构建匿名交易集合,利用基于walsh码的承诺算法对待打包隐私交易集合中的所有承诺进行聚合得到聚合承诺,将匿名交易集合和聚合承诺打包为区块;
8、在监管周期结束后,用户产生范围证明并调用第二智能合约进行验证,监管者对周期内产生的所有区块调用第一智能合约计算得到周期内的聚合承诺并利用基于walsh码的承诺算法从周期内的聚合承诺中抽取计算得到每个用户交易总额的承诺,监管者检查第二智能合约调用记录判断异常交易。
9、优选地,利用基于walsh码的承诺算法生成公开参数,包括:
10、利用基于walsh码的承诺算法中的算法初始化计算步骤,生成n阶hadmard矩阵h,n=2d,d为整数,生成walsh码片codei=hi,:,i,:表示矩阵中第i行的所有元素,生成椭圆曲线参数p为模数,为椭圆曲线群,从中随机选择两个生成元并从模p的有限整数域中生成随机数表示随机选取,计算设置向量并得到设定监管周期最终,输出公开参数使用私密信道发送抽取密钥s给监管者
11、优选地,进行用户初始化时,包括:
12、用户产生公私钥对:随机生成私钥生成公钥pk=hash(sk)并公开pk,hash(·)为哈希函数;
13、初始化用户集合:为每一个用户分配walsh码片codei,监管者根据用户实际能力设定消费上限生成一棵默克尔树mt=(mr,{hash(pki,codei)|0≤i<n}),mr为默克尔树的树根,hash(pki,codei)为默克尔树的叶子结点。
14、优选地,所述利用基于walsh码的承诺算法和公开参数计算承诺,包括:
15、利用基于walsh码的承诺算法中的承诺计算步骤,选取随机数计算其中wcom为承诺,v为交易金额。
16、优选地,零知识证明用于证明承诺满足以下条件:
17、承诺计算正确;
18、使用的walsh码片与用户的身份一致且用户拥有公钥对应的私钥;
19、承诺的金额与匿名交易中发送的金额一致。
20、优选地,所述对待打包隐私交易集合中的所有匿名交易构建匿名交易集合,利用基于walsh码的承诺算法对待打包隐私交易集合中的所有承诺进行聚合得到聚合承诺,将匿名交易集合和聚合承诺打包为区块,包括:
21、记待打包隐私交易集合为{wtxj|0≤j<m},wtxj为共m笔交易中的第j笔隐私交易,记交易wtxj=(atxj,wcomj,∏j),atxj、wcomj和∏j分别为第j个匿名交易、承诺和零知识证明,匿名交易集合表示为{atxj|0≤j<m};
22、利用基于walsh码的承诺算法中的聚合计算步骤,计算聚合承诺为对wcomj进行连乘运算;
23、将匿名交易集合{atxj|0≤j<m}和聚合承诺accu打包进区块中,生成区块block=(hedear,{atxj|0≤j<m},accu),hedear表示区块头。
24、优选地,所述用户产生范围证明并调用第二智能合约进行验证,包括:
25、计算用户在监管周期内发送匿名交易的金额总和为生成承诺时生成的随机数总和为
26、计算pedersen承诺生成范围证明πr用于证明pcomi中被承诺的金额为监管者根据用户实际能力设定的消费上限金额;
27、将用户的身份用户提供的自身消费金额上限maxi、pedersen承诺pcomi和范围证明组成并使用第二智能合约进行验证。
28、优选地,所述监管者对周期内产生的所有区块调用第一智能合约计算得到周期内的聚合承诺并利用基于walsh码的承诺算法从周期内的聚合承诺中抽取计算得到每个用户交易总额的承诺,包括:
29、监管者通过调用第一智能合约,输入监管周期内产生的所有区块的集合b={blockstart,...,blockend},记第t个区块blockt中的聚合承诺accu字段为accut,计算输出周期内的聚合承诺
30、利用基于walsh码的承诺算法中的抽取承诺计算步骤,使用抽取密钥s构造向量从周期内的聚合承诺中抽取计算得到k为遍历抽取的序号,为用户在周期内所有区块的匿名交易集合中所做交易金额总和的pedersen承诺,即每个用户交易总额的承诺。
31、优选地,所述监管者检查第二智能合约调用记录判断异常交易,包括:
32、监管者检查用户的第二智能合约调用记录,若出现调用记录不存在或者第二智能合约调用记录输入中有或则对该用户进行标记,监管者将在现实世界中对异常交易进一步调查。
33、为实现上述发明目的,本发明实施例还提供了一种高效可监管的匿名区块链交易系统,包括:初始化设置模块、用户交易生成模块、矿工交易验证模块、矿工区块打包模块和监管者交易监管模块;
34、所述初始化设置模块用于利用基于walsh码的承诺算法生成公开参数并进行用户初始化;
35、所述用户交易生成模块用于基于原生匿名交易区块链生成匿名交易和零知识证明,利用基于walsh码的承诺算法和公开参数计算承诺,将匿名交易、零知识证明和承诺打包为隐私交易;
36、所述矿工交易验证模块用于矿工验证隐私交易中的匿名交易和零知识证明,验证通过后将隐私交易加入待打包隐私交易集合中;
37、所述矿工区块打包模块用于对待打包隐私交易集合中的所有匿名交易构建匿名交易集合,利用基于walsh码的承诺算法对待打包隐私交易集合中的所有承诺进行聚合得到聚合承诺,将匿名交易集合和聚合承诺打包为区块;
38、所述监管者交易监管模块用于在监管周期结束后,用户产生范围证明并调用第二智能合约进行验证,监管者对周期内产生的所有区块调用第一智能合约计算得到周期内的聚合承诺并利用基于walsh码的承诺算法从周期内的聚合承诺中抽取计算得到每个用户交易总额的承诺,监管者检查第二智能合约调用记录判断异常交易。
39、与现有技术相比,本发明具有的有益效果至少包括:
40、本发明采用了基于walsh码的承诺算法,能够在保障用户原有匿名性不变的前提下为交易系统添加了可监管属性。与其他方案相比,本发明采用了由矿工和智能合约提前聚合承诺,聚合后再由监管者进行抽取恢复数据的方案,大大减少了监管者的计算和通讯压力。
1.一种高效可监管的匿名区块链交易方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的高效可监管的匿名区块链交易方法,其特征在于,利用基于walsh码的承诺算法生成公开参数,包括:
3.根据权利要求2所述的高效可监管的匿名区块链交易方法,其特征在于,进行用户初始化时,包括:
4.根据权利要求2所述的高效可监管的匿名区块链交易方法,其特征在于,所述利用基于walsh码的承诺算法和公开参数计算承诺,包括:
5.根据权利要求2所述的高效可监管的匿名区块链交易方法,其特征在于,零知识证明用于证明承诺满足以下条件:
6.根据权利要求1所述的高效可监管的匿名区块链交易方法,其特征在于,所述对待打包隐私交易集合中的所有匿名交易构建匿名交易集合,利用基于walsh码的承诺算法对待打包隐私交易集合中的所有承诺进行聚合得到聚合承诺,将匿名交易集合和聚合承诺打包为区块,包括:
7.根据权利要求4所述的高效可监管的匿名区块链交易方法,其特征在于,所述用户产生范围证明并调用第二智能合约进行验证,包括:
8.根据权利要求2所述的高效可监管的匿名区块链交易方法,其特征在于,所述监管者对周期内产生的所有区块调用第一智能合约计算得到周期内的聚合承诺并利用基于walsh码的承诺算法从周期内的聚合承诺中抽取计算得到每个用户交易总额的承诺,包括:
9.根据权利要和7和8所述的高效可监管的匿名区块链交易方法,其特征在于,所述监管者检查第二智能合约调用记录判断异常交易,包括:
10.一种高效可监管的匿名区块链交易系统,其特征在于,包括:初始化设置模块、用户交易生成模块、矿工交易验证模块、矿工区块打包模块和监管者交易监管模块;