用户余额隐私保护和授权监管下的交易删除方法及系统技术方案

技术编号:26482239 阅读:41 留言:0更新日期:2020-11-25 19:28
本发明专利技术提供了一种适用于联盟链的用户余额隐私保护和授权监管下的交易删除方法及系统,包括:参与各方的初始化步骤:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;转账的发起步骤:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方。本发明专利技术为了使授权监管方可对区块链上的恶意信息进行修订并不影响已有的区块链的链接信息,本发明专利技术的方案同时使用变色龙哈希函数和传统密码哈希函数,借助变色龙哈希函数的找碰撞算法,由此授权监管方可以对承载恶意信息的区块进行修订而保持所修订的区块的原哈希值不变,不影响有效区块的正确性。

【技术实现步骤摘要】
用户余额隐私保护和授权监管下的交易删除方法及系统
本专利技术涉及区块链
,具体地,涉及用户余额隐私保护和授权监管下的交易删除方法及系统。尤其地,涉及一种适用于联盟链的用户余额隐私保护和授权监管下的交易删除方案。
技术介绍
1.1区块链及联盟链1)区块链,本质上是一个去中心化的或多中心化的、公共的分布式总账,是以时间先后顺序排列的数据区块。区块链中,每一个区块中保存的是若干条交易记录,使用密码学的方法生成区块以保证其中数据不可篡改、不可伪造、可以验证;使用共识算法使全网所有节点完成对区块的认可。区块链按照参与记账节点的开放程度可分为:任何节点都可以参与交易验证、区块创建及共识过程的公有链;指定的参与方独享记账权的私有链;预先指定一些节点作为记账节点,其他接入节点可参与交易的联盟链。2)联盟链,是共识过程受到预选节点控制的区块链,只针对某个特定群体的成员和有限的第三方开放。其内部指定多个预选节点为记账人,每个块的生成由所有的预选的记账节点共同决定。不同于公链的完全去中心化,联盟链在某种程度上只属于联盟内部的成员所有,数据的访问权限一般只限于联盟内的机构及其用户,不默认公开。联盟链的节点数目有限,角色明确,因此,较于公链,达成共识的速度要快,即处理交易的速度要快。联盟链兼顾了公有链的去中心化、私有链的高效,同时对监管友好。这里假定联盟链中采用的是以比特币的链式结构为代表的记账结构。1.2基本技术模块1)承诺算法①成员:承诺方和接收方。②目的:承诺方向接收方承诺一个值。接收方可以在承诺打开后,验证承诺方所承诺的值。在承诺打开之前,接收方和其他人均不能知道承诺值,③算法组成承诺生成算法Comm:由承诺方运行。承诺方使用盲化因子r生成对值v的承诺cm。要求承诺值不会泄露关于原消息的任何信息。公式表达为cm=Comm(v,r)。承诺打开及验证算法Ver:由接收方运行,在承诺方提供v和r后,接收方打开及验证承诺。公式表达为b=Ver(v,r,cm),b∈{0,1}。b=0表示所输入的参数未能打开承诺cm,验证失败;b=1表示所输入的参数可以正确打开cm,接收方可以确信收到的v即是承诺方承诺的消息,验证成功;如附图1所示,要求承诺方提供的v和r必须与生成cm的v和r完全一致,即在承诺打开阶段,承诺方无法对承诺的内容v进行修改。④Pedersencommitment:此承诺方案是一种具有加法同态性的承诺方案。若承诺cm1,cm2分别是使用盲化因子r1,r2对值v1,v2的承诺,使cm3=cm1·cm2。则cm3为使用盲化因子r1+r2对值v1+v2的承诺。2)非交互零知识证明NIZK①成员:证明方和验证方。②性质:完备性:在非交互式的证明过程中。给定某个NP问题(称为语言L),则属于L的每个断言(或称一个实例)x,都有自己的证据w。则对于每个属于L的实例x,证明方一定可以利用w,生成能使验证方确信x∈L的证明;健壮性:对每个不属于L的实例,任何(恶意的)证明方均不能(或仅能以可忽略的概率)使验证方相信x∈L;零知识性:对语言L中的每个实例,验证方从验证过程中学到的知识均可在验证方本地生成,即验证方不能得到除“x∈L”之外的任何信息。③算法组成(如附图2所示)证明生成算法Prove:由证明方运行。证明方使用实例x和证据w,计算Π=Prove(x,w)。生成证明Π;证明验证算法Verf:由验证方运行。验证方利用收到的Π,计算b=Verf(x,Π),b∈{0,1},验证实例x是否属于语言L。b=0表示证明方提供的证据无法证明实例x属于语言L;b=1表示验证方可相信实例x属于语言L。3)变色龙哈希函数①变色龙哈希函数是一种带有“后门”的密码学哈希函数。②变色龙哈希函数可以人为设下一个“私钥”,通过使用此“私钥”就很容易找到碰撞。③算法组成a.哈希值生成算法CHash:由哈希公钥hk的所有者运行。算法输入消息m,并随机生成一个检查字符串ξ,利用hk计算变色龙哈希函数值为:h=CHash(hk,m,ξ);b.哈希值验证算法CHVer:由可以获得哈希公钥hk的任何人运行。算法输入消息m,检查字符串ξ,变色龙哈希函数h,利用hk计算:b=CHVer(hk,m,(h,ξ)),b∈{0,1}。b=0表示哈希值h并非消息m对应的变色龙哈希值,验证不通过;b=1表示哈希值h为消息m对应的变色龙哈希值,验证通过;c.找碰撞算法CHCol:由变色龙哈希私钥tk的所有者运行。算法输入原始消息m、原始检查字符串ξ、变色龙哈希函数的值h、新的消息m’,利用tk计算ξ'=CHCol(tk,(h,m,ξ),m'),从而得到新的检查字符串ξ'。算法所生成的检查字符串ξ'满足CHash(hk,m',ξ')=h,即利用变色龙哈希私钥tk,可以找到哈希函数的碰撞。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种用户余额隐私保护和授权监管下的交易删除方法及系统。根据本专利技术提供的一种用户余额隐私保护和授权监管下的交易删除方法,其特征在于,包括参与各方的初始化步骤:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;转账的发起步骤:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;记账节点记账步骤:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;转账的接收步骤:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;授权监管方的授权监管步骤:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除。优选地,所述定义成员节点的角色分类及功能:联盟链中的主要角色有三种:授权监管方、记账节点、普通用户;所述授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额;所述记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。所述普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成。优选地,所述生成成员节点的公私钥:由可信第三方作为负责发放和管理数字证书的权威机构进行身份认证;所述可信第三方承担公钥体系中公钥的合法性检验的责任;所述成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下:授权监管方M:公私钥对记为(PKM,SKM);记账节点Li:公私钥对记为普通节点Ui:公私钥对记为优选地,所述生成授权监管方的监管参数:由授权监管方生成变色龙哈希函数的公私钥对(hk,t本文档来自技高网
...

【技术保护点】
1.一种用户余额隐私保护和授权监管下的交易删除方法,其特征在于,包括/n参与各方的初始化步骤:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;/n转账的发起步骤:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;/n记账节点记账步骤:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;/n转账的接收步骤:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;/n授权监管方的授权监管步骤:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除。/n

【技术特征摘要】
1.一种用户余额隐私保护和授权监管下的交易删除方法,其特征在于,包括
参与各方的初始化步骤:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;
转账的发起步骤:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;
记账节点记账步骤:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
转账的接收步骤:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
授权监管方的授权监管步骤:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除。


2.根据权利要求1所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述定义成员节点的角色分类及功能:
联盟链中的主要角色有三种:授权监管方、记账节点、普通用户;
所述授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额;
所述记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。
所述普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成。


3.根据权利要求1所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述生成成员节点的公私钥:
由可信第三方作为负责发放和管理数字证书的权威机构进行身份认证;
所述可信第三方承担公钥体系中公钥的合法性检验的责任;
所述成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下:
授权监管方M:公私钥对记为(PKM,SKM);
记账节点Li:公私钥对记为
普通节点Ui:公私钥对记为


4.根据权利要求1所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述生成授权监管方的监管参数:
由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来;
所述授权监管方生成PedersenCommitment的公共参数,并广播给全体成员;
所述授权监管方生成NIZK所用的公共参数,并广播给全体成员;
针对NIZK,规定语言L={x|x=(cm1,cm2,cm3,y,y2)};
其中,
x的证据w=(r1,r2,r3,v1,v2,v3,r,r′),满足:
cmi=Comm(vi,ri),i∈{1,2,3};
v1-v2=v3,vi≥0,i∈{1,2,3};
设EncPk(m,r)代表用公钥加密算法Enc、公钥PK、随机数r加密消息m,则定义
对L中的一个实例x,借助其证据w,生成证明,记为Π。


5.根据权利要求1所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述转账的发起步骤:
转账交易消息格式为:trans=(cm1,cm2,cm3,y,y2,Π);
其中,
cm1,cm2,cm3均表示对金额的承诺;
r1为转帐发起方本地存储的一个数值;
r2,r3为转账发起方所选择的两个随机数;
转帐发起方计算关于自身当前余额v1、转账金额v2,以及交易后自身余额v3的承诺cmi=Comm(vi,ri),i∈{1,2,3},并将r3保存在本地;
y,y2用于将交易金额v2及对交易金额承诺所使用的随机数r2通过公钥加密的方式发送给授权监管方和转账接收方;
转账发起方选择随机数r和r',作为公钥加密的参数,分别用于使用授权监管方公钥PKM对(v2,r2)加密得到密文y,即使用交易接收方UR的公钥对(v2,r2)加密得到密文y2,
Π用于其他节点使用NIZK证明验证算法对此交易消息合法性的进行验证;
转账发起方利用证据w=(ri,vi,r,r'),i∈{1,2,3},通过NIZK证明生成算法Prove(w,x)计算关于实例x=(cm1,cm2,cm3,y,y2)∈L的证明Π。


6.根据权利要求4所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述记账节点记账步骤:
设当前记账节点所维护的转账发起方的余额的承诺为cm,转账接收方的余额的承诺为cm'1,记账节点收到交易消息trans,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2):
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
对于转账发起方,记账节点将维护的发送方的余额的承诺cm替换为cm3;
对于转账接收方,记账节点计算交易后其余额承诺cm'3=cm'1·cm2。cm'3即是对转账接收方的原余额与接收到的转账金额的和的承诺值,记账节点将维护的转账接收方的余额的承诺cm'1替换为cm'3。


7.根据权利要求4所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述转账的接收步骤:
设当前转账接收方的余额为v',余额的承诺所使用的本地存储的盲化因子为r'1。转账接收方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2):
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y2中所加密金额与cm2中所承诺金额一致;
接收方利用其私钥通过公钥解密算法解密y2,确认转账金额v2;
计算r'3=r'1+r2,并存储在本地。接收方接收转账交易后的余额为v'3=v'+v2,对应转账接收方当前的余额承诺所使用的盲化因子为r'3。


8.根据权利要求4所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述授权监管方的授权监管步骤:
步骤S1:授权监管方监察用户余额:
当授权监管方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2);
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y中所加密金额与cm2中所承诺金额一致;
授权监管方利用其私钥SKM通过公钥解密算法解密y,查看转账金额v2;
由于授权监管方知道各用户初始余额情况与交易金额情况,因而授权监管方根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额;
步骤S2:授权监管方删除包含恶意交易信息的区块中的恶意交易信息;
记账节点利用安全共识协议将交易信息打包成区块...

【专利技术属性】
技术研发人员:霍鑫磊龙宇刘志强刘振谷大武
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1