CN111428268B - 基于区块链的v2g交易隐私保护方法、设备及系统 - Google Patents
基于区块链的v2g交易隐私保护方法、设备及系统 Download PDFInfo
- Publication number
- CN111428268B CN111428268B CN202010212864.5A CN202010212864A CN111428268B CN 111428268 B CN111428268 B CN 111428268B CN 202010212864 A CN202010212864 A CN 202010212864A CN 111428268 B CN111428268 B CN 111428268B
- Authority
- CN
- China
- Prior art keywords
- zero
- client
- block chain
- equal
- proof
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于区块链的V2G交易隐私保护方法、设备及系统,区块链节点接收买方客户端匿名发送的交易参数,将交易参数和买方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;区块链节点接收买方客户端匿名发送的担保费用,并将验证通过的担保费用记录在区块链上;区块链节点接收卖方客户端匿名发送的用于结算的支付凭证,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;将对应数额的资金发送给卖方客户端;将担保费用发送给买方客户端。
Description
技术领域
本公开涉及区块链、隐私保护技术领域,特别是涉及基于区块链的V2G交易隐私保护方法、基于区块链的V2G交易隐私保护系统、电子设备及存储介质。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
作为智能电网的重要组成部分之一,V2G技术发展迅速,逐渐成为相关行业中的热门话题。V2G技术,即Vehicle-to-Grid,是一种利用大量电动汽车作为电网的能源储备,为电网和其他可再生能源提供缓冲的技术方案。当电网需求超过基本负荷发电厂的容量时,由于电网本身并没有足够的电能存储,调峰电厂就会投入运行,有时候旋转备用也会参与其中。而当电网需求较低时,用电量会低于基本负荷发电厂的输出,这样那些未被使用的能量均会被浪费掉。在V2G场景中,电动汽车会在电网需求过高时向电网系统售卖电能,节省电网调峰的成本;在电网需求较低时购入电能,减少电能浪费。这样能有效的提升电网的整体效率,而电动汽车也能通过在高价时出售电能,低价时买入电能来获赚取收益。在V2G模式下,电动汽车从一个单纯的电能消费者转变为一个“移动电源”,电动汽车用户甚至可以在需要的时候,向其他电动汽车用户购买电能,实现电能的灵活配置。
区块链是一种分布式、去中心化的系统,具有安全、不可篡改等特点,在数字货币交易领域具有广泛的应用。通过应用零知识证明等密码学技术,区块链可以很好地隐藏用户的交易记录和身份信息,从而保护用户隐私。此外,区块链作为一种底层技术,还可以支持智能合约。智能合约是一种安全可靠、自动化运行的程序,理论上可以为用户提供任何计算服务。包含智能合约的区块链在金融、医疗、能源、保险和物联网领域都有着广泛的应用。
在V2G所描述的场景中,电动汽车与电网系统或其他电动汽车进行电能交易,考虑到交易双方相互的信任问题,需要一个可信的第三方作为担保,防止任何一方出现欺骗行为,而区块链则可以很好地胜任这个角色。交易双方在区块链中进行协商,付款方预支付一定数量的金额,双方在线下进行电能交易,最后在系统中进行结算。
在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:
传统的第三方支付平台往往会掌握大量的用户隐私,比如支付金额、支付时间,这些信息会被用于推断用户的行为习惯,并用于各种商业目的。
发明内容
为了解决现有技术的不足,本公开提供了基于区块链的V2G交易隐私保护方法、设备及系统;
第一方面,本公开提供了基于区块链的V2G交易隐私保护方法;
基于区块链的V2G交易隐私保护方法,包括:
区块链节点接收买方客户端匿名发送的交易参数,将交易参数和买方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;
区块链节点接收买方客户端匿名发送的担保费用,将担保费用和买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上;
区块链节点接收卖方客户端匿名发送的用于结算的支付凭证,将用于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第三个零知识证明的正确性,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;将对应数额的资金发送给卖方客户端;将担保费用发送给买方客户端。
第二方面,本公开还提供了基于区块链的V2G交易隐私保护系统;
基于区块链的V2G交易隐私保护系统,包括:
区块链节点,其被配置为:接收买方客户端匿名发送的交易参数,将交易参数和买方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;
区块链节点,其被配置为:接收买方客户端匿名发送的担保费用,将担保费用和买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上;
区块链节点,其被配置为:接收卖方客户端匿名发送的用于结算的支付凭证,将用于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第三个零知识证明的正确性,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;将对应数额的资金发送给卖方客户端;将担保费用发送给买方客户端。
第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
与现有技术相比,本公开的有益效果是:
使用了基于哈希链的微支付手段,来减少线下交易的成本,同时有效地防止线下交易中任何一方的不诚实行为。在微支付中,支付方所使用的是一种支付凭证——payword,payword可以通过智能合约计算得到对应的价值。
本发明使用智能合约实现公平可靠的交易结算,解决交易双方的信任问题;
本发明应用区块链与零知识证明相结合的方法,通过隐藏了结算过程与双方用户账户的关联性,保护用户在第三方平台上的数据记录隐私;
本发明应用基于哈希链的微支付手段,保障了线下电力交易的灵活性和安全性,同时可以节约交易成本。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的哈希链结构;
图2为第一个实施例的默克尔树结构;
图3为第一个实施例的微支付交易过程;
图4(a)和图4(b)为第一个实施例的Convert与Commit操作所证明的关系图示(带阴影的为私密参数);
图5(a)和图5(b)为第一个实施例的Claim与Deposit操作所证明的关系图示(带阴影的为私密参数)。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
区块链本身安全公开的特性也为用户的隐私保护增添了难度,比如要验证一笔交易正确性的同时隐藏交易的具体细节,这可以通过应用零知识证明技术来解决。零知识证明技术指的是:证明者拥有一些“知识”可以满足某个论断,在不向验证者提供任何“知识”的情况下,能够使验证者相信某个论断是正确的一种方法。应用零知识证明,用户就可以在不提供身份信息和具体金额的情况下完成区块链上的资金交易。
使用基于哈希链的微支付手段进行线下电能交易,使用区块链和智能合约进行交易结算。结算过程拆分为若干部分以取消交易本身与交易双方的关联性,每一部分都是区块链中的一笔交易,采用零知识证明技术zk-SNARK为交易提供有效证明,使得区块链中的验证者——矿工可以验证某个交易的正确性,却无法获知该交易的发送者,更无法将该交易与其他交易相关联,从而保护了用户的交易隐私。在下面的详细叙述中,我们用EVA表示提供电能的卖方汽车(或电网),EVB表示付款的买方汽车(或电网)。
本发明中的术语解释:
1、基于哈希链的微支付:支付方通过迭代使用哈希函数h生成一条链,链中的哈希值称为payword,如图1所示,hi-1=h(hi),且h0=hi(hi),h为哈希函数。由于哈希函数具有单向不可逆的特性,通过哈希结果无法计算出原输入的值,因此每个payword都可以做为代表某个价值的支付凭证,其拥有的价值取决于得到h0(哈希根)所需要哈希的次数,例如h100可以当做价值100元的支付凭证。微支付过程由可信第三方担保,交易结束后收款方可以将payword兑换成相应价值的金额。
2、zk-SNARK:一种零知识证明系统,可以为一组满足特定等式关系的参数生成证明,在不暴露参数的情况下,让验证者相信等式的正确性。
3、零知识余额/金额:一种使用哈希值表示的隐藏余额/金额,其组成形式为:cmt=SHA256(v,sn,r),其中v是cmt对应的金额数值;sn是cmt唯一对应的序列号,sn公布代表cmt已被花费;r是用于防止暴力破解的私密随机数。零知识余额的使用和存入必须通过零知识证明验证,使用新的零知识余额代替旧的零知识余额。一旦零知识余额更新,旧余额的序列号sn会被公布。
4、默克尔树:一种哈希树,由叶结点不断组合哈希生成,结构如图2所示。当其叶结点存储的所有数据相同且顺序一致时,生成的默克尔树是唯一确定的,包括树的根。
5、数字签名:一种对信息进行身份认证的方式,签名者拥有一对密钥——公钥pk和私钥sk,公钥公开代表身份,只有使用私钥生成的签名,才能通过对应公钥的验证。
6、矿工:区块链的实际维护者,负责执行提交到区块链中的交易,并生成区块记录,从中赚取奖励。在公链系统中,任何用户都可以担任矿工的角色。
实施例一,本实施例提供了基于区块链的V2G交易隐私保护方法;
基于区块链的V2G交易隐私保护方法,包括:
区块链节点接收买方客户端匿名发送的交易参数,将交易参数和买方客户端生成的第一个零知识证明记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;
区块链节点接收买方客户端匿名发送的担保费用,将担保费用和买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上;
区块链节点接收卖方客户端匿名发送的用于结算的支付凭证,将用于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第三个零知识证明的正确性,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;将对应数额的资金发送给卖方客户端;将担保费用发送给买方客户端。
进一步地,所述交易参数,包括:担保费凭证、最大支付次数和用于区分卖方客户端和买方客户端的一次性公钥;
进一步地,所述交易参数,是由买方客户端和卖方客户端预先协商的参数。
进一步地,所述交易参数,包括:cmtc,N,pkA,pkB。
其中,cmtc为担保费凭证,且cmtc=SHA256(amt,rc),amt代表EVB需要支付的担保费用,rc是隐藏amt具体数值的随机数,amt和rc由双方客户端保存保存;N是最大支付次数,N代表EVB生成的哈希链的总长度;pkA和pkB,是用于区分EVA和EVB的一次性公钥,EVA和EVB在与智能合约交互时需要用该公钥对应的私钥skA和skB生成签名,用于验证双方在交易中的角色。
进一步地,所述哈希链是由买方客户端生成的。
进一步地,所述哈希链生成的具体步骤包括:
首先生成一个随机数值hN,然后对hN进行哈希运算,得到hN-1=h(hN);
以此类推,依次得到hN-2,hN-3,……,h1,h0,构成整条哈希链;N表示哈希链的长度。
进一步地,所述区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上之后;所述区块链节点接收卖方客户端匿名发送的用于结算的支付凭证步骤之前;还包括:
买方客户端与卖方客户端开始线下微支付交易,线下交易结束后,买方客户端得到电能,卖方客户端得到用于结算的支付凭证。
进一步地,第一个零知识证明,所证明的内容包括:
买方客户端当前的零知识余额等于第一哈希值、买方客户端生成的零知识金额等于第二哈希值、交易完成后买方客户端的零知识余额等于第三哈希值、第一私密参数大于第二私密参数、并且第一私密参数与第二私密参数的差值等于第三私密参数。
优选的,所述将交易参数和买方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;具体步骤包括:
S11:买方客户端EVB从自己的零知识余额cmtB中生成一笔零知识金额cmtv;买方客户端EVB生成一个零知识证明πconvert,证明如下内容:
S111:买方客户端EVB当前的零知识余额是cmtB=SHA256(vB,snB,rB);
S112:生成的零知识金额是cmtv=SHA256(amt,snv,rv);
S113:操作完成后,买方客户端EVB的零知识余额cmtB’=SHA256(vB’,snB’,rB’);
S114:vB大于等于amt;
S115:vB-amt=vB’。
以上关系如图4(a)所示。
其中,公开参数为snB,cmtB,cmtv,cmtB’;私密的参数为vB,rB,amt,snv,rv,vB’,snB’,rB’。
买方客户端EVB将公开参数与零知识证明πconvert,发送到区块链中,矿工使用公开参数验证零知识证明πconvert的正确性,将交易记录在区块中,cmtv成为一笔有效的零知识金额,EVB的零知识金额更新为cmtB’。
进一步地,所述区块链节点验证第一个零知识证明的正确性,是基于公开参数进行验证。
进一步地,第二个零知识证明,所证明的内容包括:
买方客户端使用的零知识金额等于第二哈希值、零知识金额存在于预生成的默克尔树中、或者,买方客户端支付的担保费凭证等于第四哈希值。
进一步地,所述区块链节点接收买方客户端匿名发送的担保费用,将担保费用和买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上;具体步骤包括:
买方客户端EVB在区块链中部署一个智能合约,将交易参数上传到智能合约当中,同时使用cmtv向智能合约匿名支付担保费用。
买方客户端EVB利用区块链中的若干个零知识金额生成一个默克尔树,默克尔树中包含买方客户端EVB在S11中生成的cmtv,生成的默克尔树的根为RTcmt;
买方客户端EVB生成一个零知识证明πcommit,证明如下内容:
S121:买方客户端EVB使用的零知识金额cmtv=SHA256(amt,snv,rv);
S122:零知识金额cmtv存在于以RTcmt为根的默克尔树中;
S123:买方客户端支付的担保费凭证cmtc=SHA256(amt,rc)。
以上关系如图4(b)所示。
其中,公开参数为snv、cmtc和RTcmt;私密的参数为rv、rc和cmtv。
买方客户端EVB将公开参数与πcommit,发送到区块链中,并向智能合约发送参数cmtc,N,pkA,pkB和h0。
矿工使用公开参数验证πcommit的正确性,将交易记录在区块中,cmtv由于snv的公开而失效,智能合约保存所有参数,担保开始。
由于该步骤未公开cmtv和amt的值,矿工等外者无法得知这笔零知识金额的拥有者和具体金额。
进一步地,如图3所示,买方客户端与卖方客户端开始线下微支付交易,线下交易结束后,买方客户端得到电能,卖方客户端得到用于结算的支付凭证;具体步骤包括:
S21:卖方客户端EVA检验智能合约无误,开启电力交易,向买方客户端EVB的输送1单位电力,单位为amt/N;
S22:买方客户端EVB收到电力后给卖方客户端EVA发送第一个支付凭证paywordh1;
进一步地,第三个零知识证明,所证明的内容包括:
卖方客户端应得的零知识金额等于第五哈希值、智能合约中的担保费用凭证等于第四哈希值、或者,第四私密数据等于第二私密参数与设定公开参数的乘积。
优选的,区块链节点接收卖方客户端匿名发送的用于结算的支付凭证,将用于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第三个零知识证明的正确性,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;具体步骤包括:
S31:卖方客户端EVA生成参数构建自己应得的零知识金额cmta,cmta对应的明文数值为va。
卖方客户端EVA生成一个零知识证明πclaim,证明如下内容:
S311:卖方客户端应得的零知识金额cmta=SHA256(va,sna,ra);
S312:合约中的担保费凭证cmtc=SHA256(amt,rc);
以上关系如图5(a)所示。
进一步地,所述将对应数额的资金发送给卖方客户端;具体步骤包括:
区块链节点接收卖方客户端匿名发送的资金转换请求;将资金转换请求和卖方客户端生成的第四个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第四个零知识证明的正确性,并将验证通过的支付凭证转化为对应数额的资金。
进一步地,所述第四个零知识证明,所证明的内容包括:
卖方客户端当前的零知识余额等于第六哈希值、待存入的零知识金额等于第五哈希值、操作完成后卖方客户端的零知识余额等于第七哈希值、或者,第四私密数据与第五私密数据之和等于第六私密数据。
优选的,将对应数额的资金发送给卖方客户端;具体步骤包括:
卖方客户端EVA将零知识金额cmta存储到自己的零知识余额cmtA中。
S32:卖方客户端EVA生成一个零知识证明πdeposit,证明如下内容:
S321:EVA当前的零知识余额cmtA=SHA256(vA,snA,rA);
S322:要存入的零知识金额cmta=SHA256(va,sna,ra);
S323:操作完成后EVA的零知识余额cmtA’=SHA256(vA’,snA’,rA’);
S324:vA+va=vA’。
以上关系如图5(b)所示。
其中,公开参数为snA、cmtA、cmta和cmtA’;私密参数为vA、rA、va、sna、ra、vA’、snA’和rA’。
EVA将公开参数与零知识证明πdeposit,发送到区块链中,矿工使用公开参数验证πdeposit的正确性,将交易记录在区块中,cmta由于sna的公开而失效,EVA的零知识金额更新为cmtA’。
进一步地,将担保费用发送给买方客户端;具体步骤包括:
区块链节点接收买方客户端匿名发送的担保费用取回请求;将担保费用取回请求和买方客户端生成的第五个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第五个零知识证明的正确性,并将验证通过的担保费用发送给买方客户端。
进一步地,所述第五个零知识证明,证明的内容包括:
买方客户端应取回的零知识金额等于第八哈希值、智能合约中的担保费凭证等于第四哈希值、第七私密数据等于公开参数与设定私密数据的乘积、或,公开参数等于设定公开参数的差值。
优选的,将担保费用发送给买方客户端;具体步骤包括:
买方客户端EVB以零知识金额的形式取回担保费剩余的部分;
首先EVB生成参数构建自己应取回的的零知识金额cmtf,cmtf对应的明文数值为vf。
EVB需要生成一个零知识证明πrefund,证明以下内容:
S41:买方客户端应取回的零知识金额cmtf=SHA256(vf,snf,rf);
S42:合约中的担保费凭证cmtc=SHA256(amt,rc);
S43:vf=d×amt/N;
其中,公开参数为cmtf、cmtc、d、N,私密参数为vf、amt、snf、rf、rc;
买方客户端EVB向智能合约发送参数cmtf、SigB;SigB是用于验证EVB付款方身份的一次性签名。
EVB将cmtf存入自己的余额。
实施例1.1
考虑交易中卖方的具体操作。用户A是一个电动汽车用户,他账户中的零知识余额为cmtA=SHA256(vA,snA,rA),他想将电动汽车中的电出售给用户B,包括步骤如下:
1.1.1用户A与用户B在线下协商好交易参数cmtc,N,pkA,pkB,然后等待用户B在区块链中部署智能合约;
1.1.2智能合约部署在区块链上后,用户A检查合约中的交易参数与之前两方商议的参数是否相同,并检查合约中是否存有正确数目的担保费。
若参数相同且担保费数目正确,则继续进行交易的下一步操作;
若参数不同或担保费数目不正确,则认为用户B存在欺诈行为,交易作废。
1.1.3确认无误之后,用户A开启微支付交易,向用户B输送电力。用户A向用户B输送1单位的电力,等待用户B发送的payword hi,i代表用户A第i次输送电力。
1.1.4若接收到用户B发来的hi,则用户A使用智能合约中的h0验证hi的正确性(验证方法为h0=hi(hi)),若hi正确,则重复步骤3,继续向用户B发送电力,直到用户A想结束交易为止;若没有收到用户B发来的hi或hi不正确,则认为用户B存在欺骗行为,本次微支付失败,提前终止交易(但不影响之前交易的有效性)。在用户B存在欺骗的情况下,用户A可能会得不到任何有效的payword,但至多损失1单位电力。
1.1.5微支付交易结束后,用户A得到一个有效的payword后(若没有得到任何有效的payword则整个交易作废),生成参数,构造一个零知识金额cmta=SHA256(va,sna,ra),结合cmtc=SHA256(amt,rc)、和N生成零知识证明πclaim;同时使用skA生成一次性签名SigA。用户A将cmta、SigA发送给智能合约,等待智能合约验证后,cmta成为用户A的有效零知识金额。
1.1.6用户A想将这笔零知识金额存入自己的零知识余额中。用户A生成参数,构造一个新的零知识余额cmtA’=SHA256(vA’,snA’,rA’),并根据当前的零知识余额cmtA=SHA256(vA,snA,rA)和需要存入的零知识金额cmta=SHA256(va,sna,ra),生成零知识证明πdeposit。用户A将snA,cmtA,cmta,cmtA’和πdeposit发送到区块链中,等待矿工验证后,零知识金额cmta存入用户A的零知识余额完成。
实施例1.2
考虑交易中买方的具体操作。用户B是一个电动汽车用户,他账户中的零知识余额为cmtB=SHA256(vB,snB,rB),他想购买用户A的电力,包括步骤如下:
1.2.1用户B生成担保费凭证cmtc=SHA256(amt,rc),与用户A在线下协商好交易参数cmtc,N,pkA,pkB,然后用户B生成一条长度为N的哈希链,哈希根为h0。
1.2.2用户B生成参数,构造一个零知识金额cmtv=SHA256(amt,snv,rv),并构造一个使用后的零知识余额cmtB’=SHA256(vB’,snB’,rB’)。用户B根据这些参数生成零知识证明πconvert,并将snB,cmtB,cmtv,cmtB’与πconvert,发送到区块链中,等待矿工验证后,cmtv成为一笔有效的零知识金额。
1.2.3用户B部署一个智能合约,将协商的交易参数和h0上传到智能合约中。用户B使用之前生成的零知识金额cmtv与区块链中的多个零知识金额一起构造一棵默克尔树,根为RTcmt。
之后用户A用cmtv、cmtc的参数和这棵默克尔树生成零知识证明πcommit,并将snv、cmtc、RTcmt和πcommit一起发送到区块链中,等待矿工验证后,数额为amt的担保费和交易参数存入到智能合约当中。合约部署好之后,用户B等待用户A发起微支付交易。
1.2.4用户B接收到用户A输送的1单位电力后,将一个payword hi发送给用户A,然后继续等待用户A输送电力。若用户A不再输送电力,则等待用户A完成结算。
1.2.5待用户A完成结算后,用户B取回剩余的担保费用。首先用户B生成参数,构造一个零知识金额cmtf=SHA256(vf,snf,rf),结合cmtc=SHA256(amt,rc)、d和N生成零知识证明πrefund;同时使用skB生成一次性签名SigB。用户B将cmtf、SigB发送给智能合约,等待智能合约验证后,cmtf成为用户B的有效零知识金额。
用户B将这笔零知识金额存入自己的零知识余额,方法同实施例1.1中的步骤1.1.6,此处不再赘述。
本发明提供一种基于区块链的V2G隐私保护交易方法,包括步骤如下:
A、交易双方协商交易参数,买方生成哈希链用于支付;
B、买方匿名将交易参数以智能合约的形式记录到区块链中,包括担保费用;
C、双方进行线下微支付交易,卖方提供电能,买方提供用于结算的支付凭证;
D、卖方匿名使用智能合约进行计算,将支付凭证转化为相应数额的资金;
E、卖方将步骤D中转化得到的资金匿名存入自己的账户中;
F、买方从智能合约中匿名取回剩余的担保费。
该方法将区块链与微支付交易相结合,实现了高效、可靠的电力交易结算。同时该方法在区块链中应用零知识证明技术,通过“零知识金额”的方式,实现交易记录匿名的功能,有效地保护了用户账户的交易隐私。
实施例二,本实施例还提供了基于区块链的V2G交易隐私保护系统;
基于区块链的V2G交易隐私保护系统,包括:
区块链节点,其被配置为:接收买方客户端匿名发送的交易参数,将交易参数和买方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;
区块链节点,其被配置为:接收买方客户端匿名发送的担保费用,将担保费用和买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上;
区块链节点,其被配置为:接收卖方客户端匿名发送的用于结算的支付凭证,将用于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第三个零知识证明的正确性,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;将对应数额的资金发送给卖方客户端;将担保费用发送给买方客户端。
实施例三,本实施例还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一所述的方法。
实施例四,本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.基于区块链的V2G交易隐私保护方法,其特征是,包括:
区块链节点接收买方客户端匿名发送的交易参数,将交易参数和买方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;
区块链节点接收买方客户端匿名发送的担保费用,将担保费用和买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上;
区块链节点接收卖方客户端匿名发送的用于结算的支付凭证,将用于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第三个零知识证明的正确性,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;将对应数额的资金发送给卖方客户端;将担保费用发送给买方客户端;
其中,将对应数额的资金发送给卖方客户端的步骤包括:区块链节点接收卖方客户端匿名发送的资金转换请求;将资金转换请求和卖方客户端生成的第四个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第四个零知识证明的正确性,并将验证通过的支付凭证转化为对应数额的资金;
第一个零知识证明,所证明的内容包括:
买方客户端当前的零知识余额等于第一哈希值、买方客户端生成的零知识金额等于第二哈希值、交易完成后买方客户端的零知识余额等于第三哈希值、第一私密参数大于第二私密参数、或者第一私密参数与第二私密参数的差值等于第三私密参数;
第二个零知识证明,所证明的内容包括:
买方客户端使用的零知识金额等于第二哈希值、零知识金额存在于预生成的默克尔树中、或者,买方客户端支付的担保费凭证等于第四哈希值;
或者,第三个零知识证明,所证明的内容包括:
卖方客户端应得的零知识金额等于第五哈希值、智能合约中的担保费用凭证等于第四哈希值、或者,第四私密数据等于第二私密参数与设定公开参数的乘积。
2.如权利要求1所述的方法,其特征是,所述交易参数,包括:担保费凭证、最大支付次数和用于区分卖方客户端和买方客户端的一次性公钥;所述交易参数,是由买方客户端和卖方客户端预先协商的参数。
3.如权利要求1所述的方法,其特征是,所述区块链节点验证第二个零知识的正确性,并将验证通过的担保费用记录在区块链上之后;所述区块链节点接收卖方客户端匿名发送的用于结算的支付凭证步骤之前;还包括:
买方客户端与卖方客户端开始线下微支付交易,线下交易结束后,买方客户端得到电能,卖方客户端得到用于结算的支付凭证。
4.如权利要求1所述的方法,其特征是,
所述第四个零知识证明,所证明的内容包括:
卖方客户端当前的零知识余额等于第六哈希值、待存入的零知识金额等于第五哈希值、操作完成后卖方客户端的零知识余额等于第七哈希值、或者,第四私密数据与第五私密数据之和等于第六私密数据。
5.如权利要求1所述的方法,其特征是,将担保费用发送给买方客户端;具体步骤包括:
区块链节点接收买方客户端匿名发送的担保费用取回请求;将担保费用取回请求和买方客户端生成的第五个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第五个零知识证明的正确性,并将验证通过的担保费用发送给买方客户端。
6.如权利要求5所述的方法,其特征是,所述第五个零知识证明,证明的内容包括:
买方客户端应取回的零知识金额等于第八哈希值、智能合约中的担保费凭证等于第四哈希值、第七私密数据等于公开参数与设定私密数据的乘积、或,公开参数等于设定公开参数的差值。
7.基于区块链的V2G交易隐私保护系统,包括:
区块链节点,其被配置为:接收买方客户端匿名发送的交易参数,将交易参数和买方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第一个零知识证明的正确性,并将验证通过的交易参数记录在区块链上;其中,第一个零知识证明,所证明的内容包括:买方客户端当前的零知识余额等于第一哈希值、买方客户端生成的零知识金额等于第二哈希值、交易完成后买方客户端的零知识余额等于第三哈希值、第一私密参数大于第二私密参数、或者第一私密参数与第二私密参数的差值等于第三私密参数;
区块链节点,其被配置为:接收买方客户端匿名发送的担保费用,将担保费用和买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第二个零知识证明的正确性,并将验证通过的担保费用记录在区块链上;其中第二个零知识证明,所证明的内容包括:买方客户端使用的零知识金额等于第二哈希值、零知识金额存在于预生成的默克尔树中、或者,买方客户端支付的担保费凭证等于第四哈希值;
区块链节点,其被配置为:接收卖方客户端匿名发送的用于结算的支付凭证,将用于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第三个零知识证明的正确性,并将验证通过的支付凭证记录在区块链上;基于区块链的智能合约,将支付凭证转化为对应数额的资金;将对应数额的资金发送给卖方客户端;将担保费用发送给买方客户端;其中,将对应数额的资金发送给卖方客户端的步骤包括:区块链节点接收卖方客户端匿名发送的资金转换请求;将资金转换请求和卖方客户端生成的第四个零知识证明以智能合约的形式记录到区块链上;区块链节点验证第四个零知识证明的正确性,并将验证通过的支付凭证转化为对应数额的资金;第三个零知识证明,所证明的内容包括:卖方客户端应得的零知识金额等于第五哈希值、智能合约中的担保费用凭证等于第四哈希值、或者,第四私密数据等于第二私密参数与设定公开参数的乘积。
8.一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010212864.5A CN111428268B (zh) | 2020-03-24 | 2020-03-24 | 基于区块链的v2g交易隐私保护方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010212864.5A CN111428268B (zh) | 2020-03-24 | 2020-03-24 | 基于区块链的v2g交易隐私保护方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428268A CN111428268A (zh) | 2020-07-17 |
CN111428268B true CN111428268B (zh) | 2022-08-02 |
Family
ID=71548627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010212864.5A Active CN111428268B (zh) | 2020-03-24 | 2020-03-24 | 基于区块链的v2g交易隐私保护方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428268B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182640B (zh) * | 2020-09-04 | 2022-09-02 | 山东大学 | 基于区块链的汽车分时租赁交易方法 |
CN112116475B (zh) * | 2020-09-22 | 2023-07-04 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于区块链的分散式数据交易方法及系统 |
CN112200549B (zh) * | 2020-09-23 | 2021-12-28 | 北京汇元网科技股份有限公司 | 应用于区块链支付的区块链节点验证方法及支付验证平台 |
CN112862477B (zh) * | 2021-02-07 | 2024-05-07 | 中国人民大学 | 一种基于区块链的数字商品原子交易方法及系统 |
CN113315749B (zh) * | 2021-04-12 | 2022-11-22 | 张日和 | 用户数据上链、用户数据使用方法、匿名系统和存储介质 |
CN113495924A (zh) * | 2021-06-28 | 2021-10-12 | 成都金融梦工场投资管理有限公司 | 一种基于区块链的可防伪数据安全共享方法 |
CN113627910A (zh) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | 一种区块链匿名红包发送方法、设备及储存介质 |
CN113746638B (zh) * | 2021-09-03 | 2023-04-07 | 杭州复杂美科技有限公司 | Nft存储方法、nft还原方法、计算机设备和存储介质 |
CN113988865B (zh) * | 2021-12-29 | 2022-03-29 | 国网电子商务有限公司 | 电力结算隐私保护方法及装置 |
CN114154993A (zh) * | 2022-02-09 | 2022-03-08 | 国网天津市电力公司营销服务中心 | 一种基于区块链的v2g网络跨域交易安全方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169764A (zh) * | 2017-05-10 | 2017-09-15 | 山东大学 | 基于区块链的公平数据交易方法 |
CN109858281A (zh) * | 2019-02-01 | 2019-06-07 | 杭州云象网络技术有限公司 | 一种基于零知识证明的区块链账户模型隐私保护方法 |
WO2019116248A1 (en) * | 2017-12-15 | 2019-06-20 | nChain Holdings Limited | System and method for authenticating off-chain data based on proof verification |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389046B (zh) * | 2018-02-07 | 2020-08-28 | 西安交通大学 | 一种电子商务中基于区块链技术的隐私保护交易方法 |
US20200013048A1 (en) * | 2018-07-03 | 2020-01-09 | Radpay, Inc. | Blockchain-based secure payment system |
CN109614820A (zh) * | 2018-12-06 | 2019-04-12 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法 |
CN109919614A (zh) * | 2019-02-28 | 2019-06-21 | 北京科技大学 | 一种区块链中使用零知识证明保护智能合约隐私的方法 |
-
2020
- 2020-03-24 CN CN202010212864.5A patent/CN111428268B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169764A (zh) * | 2017-05-10 | 2017-09-15 | 山东大学 | 基于区块链的公平数据交易方法 |
WO2019116248A1 (en) * | 2017-12-15 | 2019-06-20 | nChain Holdings Limited | System and method for authenticating off-chain data based on proof verification |
TW201928743A (zh) * | 2017-12-15 | 2019-07-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 用以基於證明驗證認證鏈外資料之系統及方法 |
CN109858281A (zh) * | 2019-02-01 | 2019-06-07 | 杭州云象网络技术有限公司 | 一种基于零知识证明的区块链账户模型隐私保护方法 |
Non-Patent Citations (2)
Title |
---|
Privacy preservation for v2g networks in smart grid: A survey;W. Han and Y. Xiao;《Computer Communications》;20160630;第91-92卷;全文 * |
Security and Privacy on Blockchain;Rui zhang et al.;《https://arxiv.org/abs/1903.07602》;20190318;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111428268A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428268B (zh) | 基于区块链的v2g交易隐私保护方法、设备及系统 | |
US10554407B1 (en) | Protocols for decentralized networks | |
CN110458543B (zh) | 数据处理方法、相关设备及介质 | |
JP6829242B2 (ja) | 電力取引システム | |
US8918336B2 (en) | Energy transaction broker for brokering electric vehicle charging transactions | |
JP7246186B2 (ja) | 電力取引システム | |
JPH11504144A (ja) | 電子マネーシステム | |
JP2004527051A (ja) | マイクロペイメント・トランザクションのための方法およびシステム | |
JP7163177B2 (ja) | 電力取引システム | |
CN108764872A (zh) | 一种授权支付方法及系统、设备和存储介质 | |
US20220076246A1 (en) | Method, system, and computer readable medium for transferring cryptographic tokens | |
CN112613861B (zh) | 一种基于联盟链的电力预售交易方法、装置及系统 | |
CN109615376A (zh) | 一种基于零知识证明的交易方法及装置 | |
CN110807634B (zh) | 基于Hasq哈希链与智能合约的二手票券交易方法和平台 | |
US11245528B1 (en) | Protocols for decentralized networks | |
Wang et al. | Towards a smart privacy-preserving incentive mechanism for vehicular crowd sensing | |
JP7219612B2 (ja) | 故障検知システム | |
WO2020154576A1 (en) | Cryptographic transactions supporting real world requirements | |
US11570001B1 (en) | Protocols for decentralized networks | |
Hukkinen | Reducing blockchain transaction costs in a distributed energy market application | |
JP7386639B2 (ja) | 電力託送システム及び方法 | |
CN110874722A (zh) | 一种电力交易平台和方法 | |
US20230124657A1 (en) | EGR Powered System and Energy Provider Billing Entity, Billing Management Using Blockchain | |
WO2022249439A1 (ja) | 情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法 | |
CN114549092B (zh) | 能源需求数据处理方法、装置、计算机设备和存储介质 |
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 |