CN111988290A - 用户余额隐私保护和授权监管下的交易删除方法及系统 - Google Patents

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

Info

Publication number
CN111988290A
CN111988290A CN202010778239.7A CN202010778239A CN111988290A CN 111988290 A CN111988290 A CN 111988290A CN 202010778239 A CN202010778239 A CN 202010778239A CN 111988290 A CN111988290 A CN 111988290A
Authority
CN
China
Prior art keywords
transaction
transfer
balance
public
supervisor
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.)
Granted
Application number
CN202010778239.7A
Other languages
English (en)
Other versions
CN111988290B (zh
Inventor
霍鑫磊
龙宇
刘志强
刘振
谷大武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010778239.7A priority Critical patent/CN111988290B/zh
Publication of CN111988290A publication Critical patent/CN111988290A/zh
Application granted granted Critical
Publication of CN111988290B publication Critical patent/CN111988290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

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

Description

用户余额隐私保护和授权监管下的交易删除方法及系统
技术领域
本发明涉及区块链技术领域,具体地,涉及用户余额隐私保护和授权监管下的交易删除方法及系统。尤其地,涉及一种适用于联盟链的用户余额隐私保护和授权监管下的交易删除方案。
背景技术
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进行修改。
④Pedersen commitment:此承诺方案是一种具有加法同态性的承诺方案。若承诺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:公私钥对记为
Figure BDA0002619268980000041
普通节点Ui:公私钥对记为
Figure BDA0002619268980000042
优选地,所述生成授权监管方的监管参数:
由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来;
所述授权监管方生成Pedersen Commitment的公共参数,并广播给全体成员;
所述授权监管方生成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,则定义
Figure BDA0002619268980000043
对L中的一个实例x,借助其证据w,生成证明,记为Π。
优选地,所述转账的发起步骤:
转账交易消息格式为: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,即
Figure BDA0002619268980000051
使用交易接收方UR的公钥
Figure BDA0002619268980000052
对(v2,r2)加密得到密文y2
Figure BDA0002619268980000053
Π用于其他节点使用NIZK证明验证算法对此交易消息合法性的进行验证;
转账发起方利用证据w=(ri,vi,r,r'),i∈{1,2,3},通过NIZK证明生成算法Prove(w,x)计算关于实例x=(cm1,cm2,cm3,y,y2)∈L的证明Π。
优选地,所述记账节点记账步骤:
设当前记账节点所维护的转账发起方的余额的承诺为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
优选地,所述转账的接收步骤:
设当前转账接收方的余额为v',余额的承诺所使用的本地存储的盲化因子为r'1。转账接收方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2):
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y2中所加密金额与cm2中所承诺金额一致;
接收方利用其私钥
Figure BDA0002619268980000061
通过公钥解密算法解密y2
Figure BDA0002619268980000062
确认转账金额v2
计算r'3=r'1+r2,并存储在本地。接收方接收转账交易后的余额为v'3=v'+v2,对应转账接收方当前的余额承诺所使用的盲化因子为r'3
优选地,所述授权监管方的授权监管步骤:
步骤S1:授权监管方监察用户余额:
当授权监管方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2);
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y中所加密金额与cm2中所承诺金额一致;
授权监管方利用其私钥SKM通过公钥解密算法解密y,
Figure BDA0002619268980000063
查看转账金额v2
由于授权监管方知道各用户初始余额情况与交易金额情况,因而授权监管方根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额;
步骤S2:授权监管方删除包含恶意交易信息的区块中的恶意交易信息;
记账节点利用安全共识协议将交易信息打包成区块,设Block S1,S2,S3为相邻的三个区块,其中Block S2包含了恶意交易信息,授权监管方需要在保证整个区块链的区块间链接信息不变的前提下,完成对Block S2的修订,即删除Block S2中的恶意交易,且不影响其他区块。
根据本发明提供的一种用户余额隐私保护和授权监管下的交易删除系统,包括
参与各方的初始化模块:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;
转账的发起模块:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;
记账节点记账模块:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
转账的接收模块:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
授权监管方的授权监管模块:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除;
所述定义成员节点的角色分类及功能:
联盟链中的主要角色有三种:授权监管方、记账节点、普通用户;
所述授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额;
所述记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。
所述普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成;
所述生成成员节点的公私钥:
由可信第三方作为负责发放和管理数字证书的权威机构进行身份认证;
所述可信第三方承担公钥体系中公钥的合法性检验的责任;
所述成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下:
授权监管方M:公私钥对记为(PKM,SKM);
记账节点Li:公私钥对记为
Figure BDA0002619268980000071
普通节点Ui:公私钥对记为
Figure BDA0002619268980000072
所述生成授权监管方的监管参数:
由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来;
所述授权监管方生成Pedersen Commitment的公共参数,并广播给全体成员;
所述授权监管方生成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,则定义
Figure BDA0002619268980000081
对L中的一个实例x,借助其证据w,生成证明,记为Π;
所述转账的发起模块:
转账交易消息格式为: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,即
Figure BDA0002619268980000082
使用交易接收方UR的公钥
Figure BDA0002619268980000083
对(v2,r2)加密得到密文y2
Figure BDA0002619268980000084
Π用于其他节点使用NIZK证明验证算法对此交易消息合法性的进行验证;
转账发起方利用证据w=(ri,vi,r,r'),i∈{1,2,3},通过NIZK证明生成算法Prove(w,x)计算关于实例x=(cm1,cm2,cm3,y,y2)∈L的证明Π;
所述记账节点记账模块:
设当前记账节点所维护的转账发起方的余额的承诺为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
所述转账的接收模块:
设当前转账接收方的余额为v',余额的承诺所使用的本地存储的盲化因子为r'1。转账接收方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2):
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y2中所加密金额与cm2中所承诺金额一致;
接收方利用其私钥
Figure BDA0002619268980000091
通过公钥解密算法解密y2
Figure BDA0002619268980000092
确认转账金额v2
计算r'3=r'1+r2,并存储在本地。接收方接收转账交易后的余额为v'3=v'+v2,对应转账接收方当前的余额承诺所使用的盲化因子为r'3
所述授权监管方的授权监管模块包括:
模块S1:授权监管方监察用户余额:
当授权监管方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2);
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y中所加密金额与cm2中所承诺金额一致;
授权监管方利用其私钥SKM通过公钥解密算法解密y,
Figure BDA0002619268980000101
查看转账金额v2
由于授权监管方知道各用户初始余额情况与交易金额情况,因而授权监管方根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额;
模块S2:授权监管方删除包含恶意交易信息的区块中的恶意交易信息:
记账节点利用安全共识协议将交易信息打包成区块,设Block S1,S2,S3为相邻的三个区块,其中Block S2包含了恶意交易信息,授权监管方需要在保证整个区块链的区块间链接信息不变的前提下,完成对Block S2的修订,即删除Block S2中的恶意交易,且不影响其他区块。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中任一项所述的用户余额隐私保护和授权监管下的交易删除方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
本发明为了使授权监管方可对区块链上的恶意信息进行修订并不影响已有的区块链的链接信息,本发明的方案同时使用变色龙哈希函数和传统密码哈希函数,借助变色龙哈希函数的找碰撞算法,由此授权监管方可以对承载恶意信息的区块进行修订而保持所修订的区块的原哈希值不变,不影响有效区块的正确性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的承诺打开示意图。
图2为本发明提供的算法组成示意图。
图3为本发明提供的成员节点的公私钥生成示意图。
图4为本发明提供的转账的发起示意图。
图5为本发明提供的记账节点维护的用户余额变化示意图。
图6为本发明提供的区块哈希值的计算方式示意图。
图7为本发明提供的交易双方盲化因子的变化示意图。
图8为本发明提供的区块间关系示意图。
图9为本发明提供的区块间的变化示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种用户余额隐私保护和授权监管下的交易删除方法,其特征在于,包括
参与各方的初始化步骤:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;
转账的发起步骤:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;
记账节点记账步骤:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
转账的接收步骤:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
授权监管方的授权监管步骤:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除。
具体地,所述定义成员节点的角色分类及功能:
联盟链中的主要角色有三种:授权监管方、记账节点、普通用户;
所述授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额;
所述记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。
所述普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成。
具体地,所述生成成员节点的公私钥:
由可信第三方作为负责发放和管理数字证书的权威机构进行身份认证;
所述可信第三方承担公钥体系中公钥的合法性检验的责任;
所述成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下:
授权监管方M:公私钥对记为(PKM,SKM);
记账节点Li:公私钥对记为
Figure BDA0002619268980000121
普通节点Ui:公私钥对记为
Figure BDA0002619268980000122
具体地,所述生成授权监管方的监管参数:
由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来;
所述授权监管方生成Pedersen Commitment的公共参数,并广播给全体成员;
所述授权监管方生成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,则定义
Figure BDA0002619268980000123
对L中的一个实例x,借助其证据w,生成证明,记为Π。
具体地,所述转账的发起步骤:
转账交易消息格式为: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,即
Figure BDA0002619268980000124
使用交易接收方UR的公钥
Figure BDA0002619268980000125
对(v2,r2)加密得到密文y2
Figure BDA0002619268980000126
Π用于其他节点使用NIZK证明验证算法对此交易消息合法性的进行验证;
转账发起方利用证据w=(ri,vi,r,r'),i∈{1,2,3},通过NIZK证明生成算法Prove(w,x)计算关于实例x=(cm1,cm2,cm3,y,y2)∈L的证明Π。
具体地,所述记账节点记账步骤:
设当前记账节点所维护的转账发起方的余额的承诺为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
具体地,所述转账的接收步骤:
设当前转账接收方的余额为v',余额的承诺所使用的本地存储的盲化因子为r'1。转账接收方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2):
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y2中所加密金额与cm2中所承诺金额一致;
接收方利用其私钥
Figure BDA0002619268980000131
通过公钥解密算法解密y2
Figure BDA0002619268980000132
确认转账金额v2
计算r'3=r'1+r2,并存储在本地。接收方接收转账交易后的余额为v'3=v'+v2,对应转账接收方当前的余额承诺所使用的盲化因子为r'3
具体地,所述授权监管方的授权监管步骤:
步骤S1:授权监管方监察用户余额:
当授权监管方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2);
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y中所加密金额与cm2中所承诺金额一致;
授权监管方利用其私钥SKM通过公钥解密算法解密y,
Figure BDA0002619268980000141
查看转账金额v2
由于授权监管方知道各用户初始余额情况与交易金额情况,因而授权监管方根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额;
步骤S2:授权监管方删除包含恶意交易信息的区块中的恶意交易信息;
记账节点利用安全共识协议将交易信息打包成区块,设Block S1,S2,S3为相邻的三个区块,其中Block S2包含了恶意交易信息,授权监管方需要在保证整个区块链的区块间链接信息不变的前提下,完成对Block S2的修订,即删除Block S2中的恶意交易,且不影响其他区块。
根据本发明提供的一种用户余额隐私保护和授权监管下的交易删除系统,包括
参与各方的初始化模块:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;
转账的发起模块:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;
记账节点记账模块:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
转账的接收模块:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
授权监管方的授权监管模块:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除;
所述定义成员节点的角色分类及功能:
联盟链中的主要角色有三种:授权监管方、记账节点、普通用户;
所述授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额;
所述记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。
所述普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成;
所述生成成员节点的公私钥:
由可信第三方作为负责发放和管理数字证书的权威机构进行身份认证;
所述可信第三方承担公钥体系中公钥的合法性检验的责任;
所述成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下:
授权监管方M:公私钥对记为(PKM,SKM);
记账节点Li:公私钥对记为
Figure BDA0002619268980000151
普通节点Ui:公私钥对记为
Figure BDA0002619268980000152
所述生成授权监管方的监管参数:
由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来;
所述授权监管方生成Pedersen Commitment的公共参数,并广播给全体成员;
所述授权监管方生成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,则定义y=EncPK1(v2||r2,r),y2=EncPK2(v2||r2,r');
对L中的一个实例x,借助其证据w,生成证明,记为Π;
所述转账的发起模块:
转账交易消息格式为: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,即
Figure BDA0002619268980000161
使用交易接收方UR的公钥
Figure BDA0002619268980000162
对(v2,r2)加密得到密文y2
Figure BDA0002619268980000163
Π用于其他节点使用NIZK证明验证算法对此交易消息合法性的进行验证;
转账发起方利用证据w=(ri,vi,r,r'),i∈{1,2,3},通过NIZK证明生成算法Prove(w,x)计算关于实例x=(cm1,cm2,cm3,y,y2)∈L的证明Π;
所述记账节点记账模块:
设当前记账节点所维护的转账发起方的余额的承诺为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
所述转账的接收模块:
设当前转账接收方的余额为v',余额的承诺所使用的本地存储的盲化因子为r'1。转账接收方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2):
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y2中所加密金额与cm2中所承诺金额一致;
接收方利用其私钥
Figure BDA0002619268980000171
通过公钥解密算法解密y2
Figure BDA0002619268980000172
确认转账金额v2
计算r'3=r'1+r2,并存储在本地。接收方接收转账交易后的余额为v'3=v'+v2,对应转账接收方当前的余额承诺所使用的盲化因子为r'3
所述授权监管方的授权监管模块包括:
模块S1:授权监管方监察用户余额:
当授权监管方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2);
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y中所加密金额与cm2中所承诺金额一致;
授权监管方利用其私钥SKM通过公钥解密算法解密y,
Figure BDA0002619268980000173
查看转账金额v2
由于授权监管方知道各用户初始余额情况与交易金额情况,因而授权监管方根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额;
模块S2:授权监管方删除包含恶意交易信息的区块中的恶意交易信息;
记账节点利用安全共识协议将交易信息打包成区块,设Block S1,S2,S3为相邻的三个区块,其中Block S2包含了恶意交易信息,授权监管方需要在保证整个区块链的区块间链接信息不变的前提下,完成对Block S2的修订,即删除Block S2中的恶意交易,且不影响其他区块。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中任一项所述的用户余额隐私保护和授权监管下的交易删除方法的步骤。
下面通过优选例对本发明进行更为具体地说明。
优选例1:
下面通过一个实例来说明此适用于联盟链的用户余额隐私保护和授权监管下的交易删除方案。
参与角色为授权监管方M、记账节点N、普通用户Alice、Bob。在初始化过程中,授权监管方M的公私钥对为(PKM,SKM)、授权监管方M的变色龙哈希函数的哈希公私钥对为(hk,tk)、记账节点N的公私钥对为(PKN,SKN)、Alice的公私钥对为(PKA,SKA)、Bob的公私钥对为(PKB,SKB)。
实例具体为Alice目前余额为20代币,Bob目前余额5代币,Alice将向Bob转账10代币,且当前记账节点维护的Alice的账户余额的承诺为cmA,Bob的账户余额的承诺为cmB。交易的大致流程如下:
1)Alice使用本地存储的rA1与选取的随机数rA2,rA3,计算对于当前余额20、转账金额10、转账后余额10的承诺cmA1=Comm(20,rA1),cmA2=Comm(10,rA2),cmA3=Comm(10,rA3)。
2)Alice选择随机数r,r',作为公钥加密的参数,将打开cmA2所需的参数(10,rA2)发送给授权监管方M和接收方Bob。Alice计算
Figure BDA0002619268980000181
Figure BDA0002619268980000182
3)Alice执行Prove(x,w)得到证明Π,其中w=(rA1,rA2,rA3,20,10,10,r,r'),x=(cmA1,cmA2,cmA3,y,y2)。
4)Alice将交易消息trans=(cmA1,cmA2,cmA3,y,y2,Π)发送给记账节点、M和Bob,并将rA3保存在本地。
5)N收到交易消息后执行Verf(x,Π)验证此交易消息的正确性。
若此交易消息不正确,则拒绝交易;
若此交易消息是正确的,则将维护的Alice的余额的承诺cmA替换为cmA3;将维护的Bob的余额的承诺cmB替换为cmB·cmA2
6)Bob收到交易消息后执行Verf(x,Π)验证此交易消息的正确性,其中实例x=(cmA1,cmA2,cmA3,y,y2)。
若此交易消息不正确则拒绝交易;
若此交易消息是正确的,则
Figure BDA0002619268980000183
确认Alice转账金额。Bob将本地存储的用于生成当前余额的承诺的盲化因子rB1替换为rB1+rA2,更新自身账户余额为15。
7)M收到交易消息后执行Verf(x,Π)验证此交易消息的正确性,其中实例x=(cmA1,cmA2,cmA3,y,y2)。
若此交易消息不正确则拒绝交易;
若此交易消息是正确的,则
Figure BDA0002619268980000191
查看转账金额。M将得到用户Alice及Bob完成转账交易后的账户余额分别为10和15,实现对用户余额的监管。
8)一段时间后,记账节点间通过安全共识协议将交易信息打包成区块。若授权监管方M发现某区块上的交易含有恶意交易信息,则删除该交易,重新计算该区块的MerkelTree Root的值,并使用变色龙哈希函数的私钥tk计算出新的检查字符串,更新所修订的区块的Merkel Tree Root的值和检查字符串的值,完成授权监管下对包含恶意交易信息的区块中的恶意交易信息的删除。
在联盟链交易过程中,为保证用户隐私,并平衡授权监管的需求及对抗恶意用户,拟实现如下功能:
1)记账节点可以通过安全共识协议完成记账功能但不知道用户间每笔交易的金额和各个用户的余额。
2)授权监管方可以监察用户余额。
3)授权监管方可以删除任意区块中包含的恶意交易。
我们提出了一种适用于联盟链的用户余额隐私保护和授权监管下的交易删除方案。方案在不暴露普通用户账户余额和普通用户间交易金额的情况下,可使记账节点完成记账,即记账节点不需知道交易金额便可验证交易有效性。同时,授权监管方可以查看任意普通用户的余额,并对区块上的恶意信息进行修订且不会改变已有的区块链的链接信息,不影响整个区块链的安全性。
为实现以上目标,本方案将Pedersen Commitment、非交互式零知识证明NIZK以及变色龙哈希相结合。交易发起方使用Pedersen Commitment保证交易金额的隐私性和交易的可验证性;同时,交易发起方将交易监管及确认所需信息以公钥加密的形式发送给授权监管方和转账接收方;为保证交易的正确性是可验证的,交易发起方以NIZK方式生成交易的正确性的证明并附在交易信息中。
记账节点收到交易信息及所附的证明,可通过非交互式零知识证明NIZK来验证交易的正确性。
此外,为了使授权监管方可对区块链上的恶意信息进行修订并不影响已有的区块链的链接信息,我们的方案同时使用变色龙哈希函数和传统密码哈希函数。借助变色龙哈希函数的找碰撞算法,由此授权监管方可以对承载恶意信息的区块进行修订而保持所修订的区块的原哈希值不变,不影响有效区块的正确性。
优选例2:
对于此适用于联盟链的用户余额隐私保护和授权监管下的交易删除方案,按照联盟链交易的流程分为五个部分:参与各方的初始化、转账的发起、记账节点记账、转账的接收、授权监管方的授权监管。
参与各方的初始化:
1)成员节点的角色分类及功能定义
联盟链中的主要角色有三种:授权监管方、记账节点、普通用户。
①授权监管方:授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额。
②记账节点:记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。
③普通用户:普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成。
2)成员节点的公私钥生成
如附图3所示,此方案中的身份认证是由可信第三方作为负责发放和管理数字证书的权威机构。可信第三方承担公钥体系中公钥的合法性检验的责任。成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下。
①授权监管方M:公私钥对记为(PKM,SKM)
②记账节点Li:公私钥对记为
Figure BDA0002619268980000201
③普通节点Ui:公私钥对记为
Figure BDA0002619268980000202
特别地,在后文中我们针对某一对普通节点之间的交易进行讨论。设交易发送方为US,交易接收方为UR
3)授权监管方的监管参数生成:
①由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来。
②由授权监管方生成Pedersen Commitment的公共参数,并广播给全体成员。
③由授权监管方生成NIZK所用的公共参数,并广播给全体成员。
针对NIZK,规定语言L={x|x=(cm1,cm2,cm3,y,y2)}。其中x的证据
w=(r1,r2,r3,v1,v2,v3,r,r′),满足:
a.cmi=Comm(vi,ri),i∈{1,2,3};
b.v1-v2=v3,vi≥0,i∈{1,2,3};
c.设EncPk(m,r)代表用公钥加密算法Enc、公钥PK、随机数r加密消息m。则定义
Figure BDA0002619268980000211
公钥加密的过程中需要随机数的参与,r与r’为分别应用于两次公钥加密的随机数
对L中的一个实例x,借助其证据w,生成证明,记为Π。
转账的发起:
转账交易是由普通用户发起的,交易信息被发送给记账节点、授权监管方和转账接收方。利用交易信息,记账节点会形成区块及维护对用户余额的承诺;授权监管方可监管用户余额;转账接收方可以确认交易金额并更新自己的账户信息。
转账交易消息格式为: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,即
Figure BDA0002619268980000212
使用交易接收方UR的公钥
Figure BDA0002619268980000213
对(v2,r2)加密得到密文y2
Figure BDA0002619268980000214
Π用于其他节点使用NIZK证明验证算法对此交易消息合法性的进行验证。转账发起方利用证据w=(ri,vi,r,r'),i∈{1,2,3},通过NIZK证明生成算法Prove(w,x)计算关于实例x=(cm1,cm2,cm3,y,y2)∈L的证明Π。
记账节点记账:
假设当前记账节点所维护的转账发起方的余额的承诺为cm,转账接收方的余额的承诺为cm'1。记账节点收到交易消息trans,得到(cm1,cm2,cm3,y,y2,Π)。
1)使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2)。
2)若该交易消息不合法,则拒绝此交易。
若该交易消息合法:
①对于转账发起方,记账节点将维护的发送方的余额的承诺cm替换为cm3
②对于转账接收方,记账节点计算交易后其余额承诺cm'3=cm'1·cm2。cm'3即是对转账接收方的原余额与接收到的转账金额的和的承诺值。记账节点将维护的转账接收方的余额的承诺cm'1替换为cm'3
这里由于金额以承诺的形式出现在交易信息中,记账节点并不知交易双方具体余额及交易的转账金额,但仍可利用Pedersen Commitment的同态性来记录用户帐户余额的变更情况。
3)一定时间后,记账节点间通过安全共识协议将交易信息打包成区块。对于任一区块S’,其区块哈希值的计算方式如附图6虚线框中所示:
其中:
hk表示变色龙哈希函数所使用的哈希公钥;
HashPrev表示前一区块的区块哈希值;
Nonce值为区块生成的相关参数;
Merkel Tree Root表示当前区块所包含的交易信息所形成的Merkel Tree Root的值;
Check string是变色龙哈希的参数,便于寻找碰撞。
H()表示传统哈希函数;
CH()表示变色龙哈希函数,这里将(S,x)作为一个整体,用作变色龙哈希生成的消息输入;
若上述符号带有下标,则是为了区别对应于不同区块的参数。
转账的接收:
假设当前转账接收方的余额为v',余额的承诺所使用的本地存储的盲化因子为r'1。转账接收方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π)。
1)使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2)。
2)若该交易消息不合法,则拒绝此交易。
若该交易消息合法:
①表明y2中所加密金额与cm2中所承诺金额一致。
②接收方利用其私钥
Figure BDA0002619268980000231
通过公钥解密算法解密y2
Figure BDA0002619268980000232
确认转账金额v2
③计算r'3=r'1+r2,并存储在本地。接收方接收转账交易后的余额为v'3=v'+v2,对应转账接收方当前的余额承诺所使用的盲化因子为r'3
3)转账交易完成前后,转账交易的发起方和转账交易的接收方所存储的分别对应于当前余额的承诺所使用的盲化因子的变化如附图7所示。
授权监管方的授权监管:
授权监管方可以监察用户余额,并且可对包含恶意交易信息的交易进行删除。
1)授权监管方监察用户余额
当授权监管方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π)。
①使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2)。
②若该交易消息不合法,则拒绝此交易。
若该交易消息合法:
a.表明y中所加密金额与cm2中所承诺金额一致。
b.授权监管方利用其私钥SKM通过公钥解密算法解密y,
Figure BDA0002619268980000233
查看转账金额v2
c.由于授权监管方知道各用户初始余额情况与交易金额情况,因而其可根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额。
2)授权监管方删除包含恶意交易信息的区块中的恶意交易信息
3)记账节点利用安全共识协议将交易信息打包成区块,区块间关系如附图8所示(设恶意交易信息包含在Block S2中):
Block S1,S2,S3为相邻的三个区块。其中Block S2包含了恶意交易信息。授权监管方需要在保证整个区块链的区块间链接信息不变的前提下,完成对Block S2的修订,即删除Block S2中的恶意交易,且不影响其他区块。
①授权监管方删除恶意信息,并利用剩余交易信息重新计算区块Block S2的Merkel Tree Root的值,得到x'2
②授权监管方利用自己所掌握的变色龙哈希函数的哈希私钥tk针对新的MerkelTree Root x'2,计算ξ'2=CHCol(tk,(h2,S1||x22),S1||x'2),得到新的检查字符串,其中h2=CHash(hk,S2||x22),即Block S2的原变色龙哈希值。新的检查字符串ξ'2满足CHash(hk,S2||x'2,ξ')=h2
③更新Block S2的Merkel Tree Root部分为x'2,Check String部分为ξ'2,即完成对Block S2的修订。
区块间的变化如附图9所示。由此,在不影响其他区块正确性的前提下授权监管方实现了对包含恶意交易信息的区块中的恶意交易信息的删除。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种用户余额隐私保护和授权监管下的交易删除方法,其特征在于,包括
参与各方的初始化步骤:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;
转账的发起步骤:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;
记账节点记账步骤:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
转账的接收步骤:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
授权监管方的授权监管步骤:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除。
2.根据权利要求1所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述定义成员节点的角色分类及功能:
联盟链中的主要角色有三种:授权监管方、记账节点、普通用户;
所述授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额;
所述记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。
所述普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成。
3.根据权利要求1所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述生成成员节点的公私钥:
由可信第三方作为负责发放和管理数字证书的权威机构进行身份认证;
所述可信第三方承担公钥体系中公钥的合法性检验的责任;
所述成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下:
授权监管方M:公私钥对记为(PKM,SKM);
记账节点Li:公私钥对记为
Figure FDA0002619268970000011
普通节点Ui:公私钥对记为
Figure FDA0002619268970000021
4.根据权利要求1所述的用户余额隐私保护和授权监管下的交易删除方法,其特征在于,所述生成授权监管方的监管参数:
由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来;
所述授权监管方生成Pedersen Commitment的公共参数,并广播给全体成员;
所述授权监管方生成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,则定义
Figure FDA0002619268970000022
对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,即
Figure FDA0002619268970000023
使用交易接收方UR的公钥
Figure FDA0002619268970000024
对(v2,r2)加密得到密文y2
Figure FDA0002619268970000025
Π用于其他节点使用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中所承诺金额一致;
接收方利用其私钥
Figure FDA0002619268970000031
通过公钥解密算法解密y2
Figure FDA0002619268970000032
确认转账金额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,
Figure FDA0002619268970000041
查看转账金额v2
由于授权监管方知道各用户初始余额情况与交易金额情况,因而授权监管方根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额;
步骤S2:授权监管方删除包含恶意交易信息的区块中的恶意交易信息;
记账节点利用安全共识协议将交易信息打包成区块,设Block S1,S2,S3为相邻的三个区块,其中Block S2包含了恶意交易信息,授权监管方需要在保证整个区块链的区块间链接信息不变的前提下,完成对Block S2的修订,即删除Block S2中的恶意交易,且不影响其他区块。
9.一种用户余额隐私保护和授权监管下的交易删除系统,其特征在于,包括
参与各方的初始化模块:定义成员节点的角色分类及功能,生成成员节点的公私钥,生成授权监管方的监管参数;
转账的发起模块:令普通用户发起转账交易,将转账交易信息发送给记账节点、授权监管方和转账接收方;
记账节点记账模块:记账节点接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
转账的接收模块:转账接收方接收转账交易信息,验证收到的转账交易信息是否合法,若合法则接受交易,若不合法则拒绝交易;
授权监管方的授权监管模块:授权监管方监察用户余额,并且可对包含恶意交易信息的交易进行删除;
所述定义成员节点的角色分类及功能:
联盟链中的主要角色有三种:授权监管方、记账节点、普通用户;
所述授权监管方是整个联盟链交易的监管者。在此方案中授权监管方默认已知各普通用户在联盟链中的初始的账户余额;
所述记账节点是联盟链中预先选定的多个节点。记账节点参与记账共识与账本的同步。联盟链中区块的生成由记账节点间通过安全共识协议决定。
所述普通用户参与联盟链中的交易,并将交易提交给记账节点,但不参与记账行为或区块生成;
所述生成成员节点的公私钥:
由可信第三方作为负责发放和管理数字证书的权威机构进行身份认证;
所述可信第三方承担公钥体系中公钥的合法性检验的责任;
所述成员节点通过与证书颁发机构的交互获得自己的公私钥对以及对应的公钥证书,符号标记如下:
授权监管方M:公私钥对记为(PKM,SKM);
记账节点Li:公私钥对记为
Figure FDA0002619268970000051
普通节点Ui:公私钥对记为
Figure FDA0002619268970000052
所述生成授权监管方的监管参数:
由授权监管方生成变色龙哈希函数的公私钥对(hk,tk),并将哈希公钥hk发送给全体记账节点,将哈希私钥tk保存下来;
所述授权监管方生成Pedersen Commitment的公共参数,并广播给全体成员;
所述授权监管方生成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,则定义
Figure FDA0002619268970000053
对L中的一个实例x,借助其证据w,生成证明,记为Π;
所述转账的发起模块:
转账交易消息格式为: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,即
Figure FDA0002619268970000061
使用交易接收方UR的公钥
Figure FDA0002619268970000062
对(v2,r2)加密得到密文y2
Figure FDA0002619268970000063
Π用于其他节点使用NIZK证明验证算法对此交易消息合法性的进行验证;
转账发起方利用证据w=(ri,vi,r,r'),i∈{1,2,3},通过NIZK证明生成算法Prove(w,x)计算关于实例x=(cm1,cm2,cm3,y,y2)∈L的证明Π;
所述记账节点记账模块:
设当前记账节点所维护的转账发起方的余额的承诺为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
所述转账的接收模块:
设当前转账接收方的余额为v',余额的承诺所使用的本地存储的盲化因子为r'1。转账接收方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2):
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y2中所加密金额与cm2中所承诺金额一致;
接收方利用其私钥
Figure FDA0002619268970000071
通过公钥解密算法解密y2
Figure FDA0002619268970000072
确认转账金额v2
计算r'3=r'1+r2,并存储在本地。接收方接收转账交易后的余额为v'3=v'+v2,对应转账接收方当前的余额承诺所使用的盲化因子为r'3
所述授权监管方的授权监管模块包括:
模块S1:授权监管方监察用户余额:
当授权监管方收到交易消息trans后,得到(cm1,cm2,cm3,y,y2,Π);
使用Π通过NIZK验证算法Verf(x,Π)验证该交易消息是否合法,其中实例x=(cm1,cm2,cm3,y,y2);
若该交易消息不合法,则拒绝此交易;
若该交易消息合法:
表明y中所加密金额与cm2中所承诺金额一致;
授权监管方利用其私钥SKM通过公钥解密算法解密y,
Figure FDA0002619268970000073
查看转账金额v2
由于授权监管方知道各用户初始余额情况与交易金额情况,因而授权监管方根据该余额以及交易金额更新与这笔交易相关的用户的账户信息,从而得到用户的最新余额;
模块S2:授权监管方删除包含恶意交易信息的区块中的恶意交易信息;
记账节点利用安全共识协议将交易信息打包成区块,设Block S1,S2,S3为相邻的三个区块,其中Block S2包含了恶意交易信息,授权监管方需要在保证整个区块链的区块间链接信息不变的前提下,完成对Block S2的修订,即删除Block S2中的恶意交易,且不影响其他区块。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的用户余额隐私保护和授权监管下的交易删除方法的步骤。
CN202010778239.7A 2020-08-05 2020-08-05 用户余额隐私保护和授权监管下的交易删除方法及系统 Active CN111988290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010778239.7A CN111988290B (zh) 2020-08-05 2020-08-05 用户余额隐私保护和授权监管下的交易删除方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010778239.7A CN111988290B (zh) 2020-08-05 2020-08-05 用户余额隐私保护和授权监管下的交易删除方法及系统

Publications (2)

Publication Number Publication Date
CN111988290A true CN111988290A (zh) 2020-11-24
CN111988290B CN111988290B (zh) 2022-10-14

Family

ID=73445054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010778239.7A Active CN111988290B (zh) 2020-08-05 2020-08-05 用户余额隐私保护和授权监管下的交易删除方法及系统

Country Status (1)

Country Link
CN (1) CN111988290B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112598411A (zh) * 2020-12-25 2021-04-02 杭州复杂美科技有限公司 可撤回的隐私授权转账方法、设备和存储介质
CN113094432A (zh) * 2021-04-06 2021-07-09 湖北央中巨石信息技术有限公司 基于相同预制规则的多方异步共识方法及系统
CN113162938A (zh) * 2021-04-26 2021-07-23 电子科技大学 一种基于区块链的抗后门攻击的公共参数产生方法
CN113657972A (zh) * 2021-08-31 2021-11-16 卓尔智联(武汉)研究院有限公司 基于区块链的物品交易方法、计算机装置及存储介质
CN113781073A (zh) * 2021-11-10 2021-12-10 南京邮电大学 一种基于矩阵联盟链的可隐藏实名的资助方法
CN114154982A (zh) * 2021-08-16 2022-03-08 北京天德科技有限公司 一种基于区块链和大数据平台的实时结算和监管方法
WO2022134612A1 (zh) * 2020-12-25 2022-06-30 杭州复杂美科技有限公司 隐私授权转账方法、设备和存储介质
CN115378600A (zh) * 2022-07-27 2022-11-22 浪潮云信息技术股份公司 一种基于离散对数的可验证变色龙哈希验证方法
CN115801259A (zh) * 2022-11-10 2023-03-14 上海零数众合信息科技有限公司 事务监管方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090212909A1 (en) * 2002-03-19 2009-08-27 Chameleon Network Inc. Portable electronic authorization system and method
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN110059494A (zh) * 2019-04-17 2019-07-26 深圳市路云区链网络科技有限公司 一种区块链交易数据的隐私保护方法及区块链系统
CN110648229A (zh) * 2019-08-07 2020-01-03 中国科学院信息工程研究所 一种半公开的区块链系统及交易方法
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090212909A1 (en) * 2002-03-19 2009-08-27 Chameleon Network Inc. Portable electronic authorization system and method
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN110059494A (zh) * 2019-04-17 2019-07-26 深圳市路云区链网络科技有限公司 一种区块链交易数据的隐私保护方法及区块链系统
CN110648229A (zh) * 2019-08-07 2020-01-03 中国科学院信息工程研究所 一种半公开的区块链系统及交易方法
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李佩丽等: "区块链用户匿名与可追踪技术", 《电子与信息学报》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112598411B (zh) * 2020-12-25 2023-05-30 杭州复杂美科技有限公司 可撤回的隐私授权转账方法、设备和存储介质
CN112598411A (zh) * 2020-12-25 2021-04-02 杭州复杂美科技有限公司 可撤回的隐私授权转账方法、设备和存储介质
WO2022134612A1 (zh) * 2020-12-25 2022-06-30 杭州复杂美科技有限公司 隐私授权转账方法、设备和存储介质
CN113094432A (zh) * 2021-04-06 2021-07-09 湖北央中巨石信息技术有限公司 基于相同预制规则的多方异步共识方法及系统
CN113094432B (zh) * 2021-04-06 2022-06-03 湖北央中巨石信息技术有限公司 基于相同预制规则的多方异步共识方法及系统
CN113162938A (zh) * 2021-04-26 2021-07-23 电子科技大学 一种基于区块链的抗后门攻击的公共参数产生方法
CN113162938B (zh) * 2021-04-26 2023-10-10 电子科技大学 一种基于区块链的抗后门攻击的公共参数产生方法
CN114154982A (zh) * 2021-08-16 2022-03-08 北京天德科技有限公司 一种基于区块链和大数据平台的实时结算和监管方法
CN114154982B (zh) * 2021-08-16 2022-07-01 北京天德科技有限公司 一种基于区块链和大数据平台的实时结算和监管方法
CN113657972A (zh) * 2021-08-31 2021-11-16 卓尔智联(武汉)研究院有限公司 基于区块链的物品交易方法、计算机装置及存储介质
WO2023082690A1 (zh) * 2021-11-10 2023-05-19 南京邮电大学 一种基于矩阵联盟链的可隐藏实名的资助方法
CN113781073A (zh) * 2021-11-10 2021-12-10 南京邮电大学 一种基于矩阵联盟链的可隐藏实名的资助方法
CN115378600A (zh) * 2022-07-27 2022-11-22 浪潮云信息技术股份公司 一种基于离散对数的可验证变色龙哈希验证方法
CN115801259A (zh) * 2022-11-10 2023-03-14 上海零数众合信息科技有限公司 事务监管方法、装置、电子设备及存储介质
CN115801259B (zh) * 2022-11-10 2023-06-09 上海零数众合信息科技有限公司 事务监管方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111988290B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN111988290B (zh) 用户余额隐私保护和授权监管下的交易删除方法及系统
Zhang et al. Security and privacy on blockchain
US11799637B2 (en) Methods and systems for blockchain-implemented event-lock encryption
US20240171376A1 (en) Rapid distributed consensus on blockchain
CN110380847B (zh) 一种区块链共识方法和装置
CN110288480B (zh) 一种区块链的私密交易方法及装置
JP2021507564A (ja) 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法
Ma et al. Redactable blockchain in decentralized setting
CN112487468B (zh) 基于区块链的可追踪的完全匿名电子投票方法及系统
CN112437049B (zh) 一种基于bft的区块链共识方法及装置
CN111709749A (zh) 一种具有条件隐私保护的可追踪区块链交易系统
CN110149304A (zh) 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统
CN112801664B (zh) 基于区块链的智能合约供应链可信服务方法
Tomescu et al. Utt: Decentralized ecash with accountable privacy
Qu et al. A electronic voting protocol based on blockchain and homomorphic signcryption
Luong et al. Privacy-preserving identity management system on blockchain using Zk-SNARK
CN110780848B (zh) 基于区块链分布式随机过程的双随机生成方法和监管系统
CN113037827B (zh) 基于区块链的投票方法、自组织管理方法及计算机设备
Sani et al. Idenx: A blockchain-based identity management system for supply chain attacks mitigation in smart grids
CN112583598A (zh) 一种复杂物联网联盟链系统通信机制
CN116032661A (zh) 一种并行可监管的身份隐私保护方法
Orsini et al. How to Recover a Cryptographic Secret From the Cloud
Chen et al. CDEdit: A Highly Applicable Redactable Blockchain with Controllable Editing Privilege and Diversified Editing Types
CN116094797B (zh) 一种基于安全多方计算的分布式身份信任管理方法
Rao et al. VAPKI: A blockchain-based identification system with validation and authentication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant