基于区块链的V2G交易隐私保护方法、设备及系统.pdf

上传人:C*** 文档编号:9225459 上传时间:2021-05-10 格式:PDF 页数:16 大小:484.84KB
收藏 版权申诉 举报 下载
基于区块链的V2G交易隐私保护方法、设备及系统.pdf_第1页
第1页 / 共16页
基于区块链的V2G交易隐私保护方法、设备及系统.pdf_第2页
第2页 / 共16页
基于区块链的V2G交易隐私保护方法、设备及系统.pdf_第3页
第3页 / 共16页
文档描述:

《基于区块链的V2G交易隐私保护方法、设备及系统.pdf》由会员分享,可在线阅读,更多相关《基于区块链的V2G交易隐私保护方法、设备及系统.pdf(16页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010212864.5 (22)申请日 2020.03.24 (71)申请人 山东大学 地址 266237 山东省青岛市即墨滨海路72 号 (72)发明人 万志国张桐刘卫壮 (74)专利代理机构 济南圣达知识产权代理有限 公司 37221 代理人 黄海丽 (51)Int.Cl. G06F 21/62(2013.01) G06F 21/64(2013.01) G06Q 40/04(2012.01) (54)发明名称 基于区块链的V2G交易隐私保护方法、 设备 及系统 (57)。

2、摘要 本发明公开了基于区块链的V2G交易隐私保 护方法、 设备及系统, 区块链节点接收买方客户 端匿名发送的交易参数, 将交易参数和买方客户 端生成的第一个零知识证明以智能合约的形式 记录到区块链上; 区块链节点验证第一个零知识 证明的正确性, 并将验证通过的交易参数记录在 区块链上; 区块链节点接收买方客户端匿名发送 的担保费用, 并将验证通过的担保费用记录在区 块链上; 区块链节点接收卖方客户端匿名发送的 用于结算的支付凭证, 并将验证通过的支付凭证 记录在区块链上; 基于区块链的智能合约, 将支 付凭证转化为对应数额的资金; 将对应数额的资 金发送给卖方客户端; 将担保费用发送给买方客 。

3、户端。 权利要求书2页 说明书10页 附图3页 CN 111428268 A 2020.07.17 CN 111428268 A 1.基于区块链的V2G交易隐私保护方法, 其特征是, 包括: 区块链节点接收买方客户端匿名发送的交易参数, 将交易参数和买方客户端生成的第 一个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第一个零知识证明的 正确性, 并将验证通过的交易参数记录在区块链上; 区块链节点接收买方客户端匿名发送的担保费用, 将担保费用和买方客户端生成的第 二个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第二个零知识证明的 正确性, 并将验证通过的担保费用记录在。

4、区块链上; 区块链节点接收卖方客户端匿名发送的用于结算的支付凭证, 将用于结算的支付凭证 和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上; 区块链节点验 证第三个零知识证明的正确性, 并将验证通过的支付凭证记录在区块链上; 基于区块链的 智能合约, 将支付凭证转化为对应数额的资金; 将对应数额的资金发送给卖方客户端; 将担 保费用发送给买方客户端。 2.如权利要求1所述的方法, 其特征是, 所述交易参数, 包括: 担保费凭证、 最大支付次 数和用于区分卖方客户端和买方客户端的一次性公钥; 所述交易参数, 是由买方客户端和 卖方客户端预先协商的参数。 3.如权利要求1所述的方法。

5、, 其特征是, 所述区块链节点验证第二个零知识证明的正确 性, 并将验证通过的担保费用记录在区块链上之后; 所述区块链节点接收卖方客户端匿名 发送的用于结算的支付凭证步骤之前; 还包括: 买方客户端与卖方客户端开始线下微支付交易, 线下交易结束后, 买方客户端得到电 能, 卖方客户端得到用于结算的支付凭证。 4.如权利要求1所述的方法, 其特征是, 第一个零知识证明, 所证明的内容包括: 买方客户端当前的零知识余额等于第一哈希值、 买方客户端生成的零知识金额等于第 二哈希值、 交易完成后买方客户端的零知识余额等于第三哈希值、 第一私密参数大于第二 私密参数、 或者第一私密参数与第二私密参数的差。

6、值等于第三私密参数。 5.如权利要求1所述的方法, 其特征是, 第二个零知识证明, 所证明的内容包括: 买方客户端使用的零知识金额等于第二哈希值、 零知识金额存在于预生成的默克尔树 中、 或者, 买方客户端支付的担保费凭证等于第四哈希值; 或者, 第三个零知识证明, 所证明的内容包括: 卖方客户端应得的零知识金额等于第五哈希值、 智能合约中的担保费用凭证等于第四 哈希值、 或者, 第四私密数据等于第二私密参数与设定公开参数的乘积。 6.如权利要求1所述的方法, 其特征是, 所述将对应数额的资金发送给卖方客户端; 具 体步骤包括: 区块链节点接收卖方客户端匿名发送的资金转换请求; 将资金转换请求。

7、和卖方客户端 生成的第四个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第四个零知 识证明的正确性, 并将验证通过的支付凭证转化为对应数额的资金; 优选的, 所述第四个零知识证明, 所证明的内容包括: 卖方客户端当前的零知识余额等于第六哈希值、 待存入的零知识金额等于第五哈希 值、 操作完成后卖方客户端的零知识余额等于第七哈希值、 或者, 第四私密数据与第五私密 权利要求书 1/2 页 2 CN 111428268 A 2 数据之和等于第六私密数据。 7.如权利要求1所述的方法, 其特征是, 将担保费用发送给买方客户端; 具体步骤包括: 区块链节点接收买方客户端匿名发送的担保费用取。

8、回请求; 将担保费用取回请求和买 方客户端生成的第五个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第 五个零知识证明的正确性, 并将验证通过的担保费用发送给买方客户端; 优选的, 所述第五个零知识证明, 证明的内容包括: 买方客户端应取回的零知识金额等于第八哈希值、 智能合约中的担保费凭证等于第四 哈希值、 第七私密数据等于公开参数与设定私密数据的乘积、 或, 公开参数等于设定公开参 数的差值。 8.基于区块链的V2G交易隐私保护系统, 包括: 区块链节点, 其被配置为: 接收买方客户端匿名发送的交易参数, 将交易参数和买方客 户端生成的第一个零知识证明以智能合约的形式记录到区块。

9、链上; 区块链节点验证第一个 零知识证明的正确性, 并将验证通过的交易参数记录在区块链上; 区块链节点, 其被配置为: 接收买方客户端匿名发送的担保费用, 将担保费用和买方客 户端生成的第二个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第二个 零知识证明的正确性, 并将验证通过的担保费用记录在区块链上; 区块链节点, 其被配置为: 接收卖方客户端匿名发送的用于结算的支付凭证, 将用于结 算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第三个零知识证明的正确性, 并将验证通过的支付凭证记录在区块链上; 基于区块链的智能合约, 将支付凭证。

10、转化为对应数额的资金; 将对应数额的资金发送给卖 方客户端; 将担保费用发送给买方客户端。 9.一种电子设备, 包括存储器和处理器以及存储在存储器上并在处理器上运行的计算 机指令, 所述计算机指令被处理器运行时, 完成权利要求1-7任一项所述的方法。 10.一种计算机可读存储介质, 用于存储计算机指令, 所述计算机指令被处理器执行 时, 完成权利要求1-7任一项所述的方法。 权利要求书 2/2 页 3 CN 111428268 A 3 基于区块链的V2G交易隐私保护方法、 设备及系统 技术领域 0001 本公开涉及区块链、 隐私保护技术领域, 特别是涉及基于区块链的V2G交易隐私保 护方法、 。

11、基于区块链的V2G交易隐私保护系统、 电子设备及存储介质。 背景技术 0002 本部分的陈述仅仅是提到了与本公开相关的背景技术, 并不必然构成现有技术。 0003 作为智能电网的重要组成部分之一, V2G技术发展迅速, 逐渐成为相关行业中的热 门话题。 V2G技术, 即Vehicle-to-Grid, 是一种利用大量电动汽车作为电网的能源储备, 为 电网和其他可再生能源提供缓冲的技术方案。 当电网需求超过基本负荷发电厂的容量时, 由于电网本身并没有足够的电能存储, 调峰电厂就会投入运行, 有时候旋转备用也会参与 其中。 而当电网需求较低时, 用电量会低于基本负荷发电厂的输出, 这样那些未被使用。

12、的能 量均会被浪费掉。 在V2G场景中, 电动汽车会在电网需求过高时向电网系统售卖电能, 节省 电网调峰的成本; 在电网需求较低时购入电能, 减少电能浪费。 这样能有效的提升电网的整 体效率, 而电动汽车也能通过在高价时出售电能, 低价时买入电能来获赚取收益。 在V2G模 式下, 电动汽车从一个单纯的电能消费者转变为一个 “移动电源” , 电动汽车用户甚至可以 在需要的时候, 向其他电动汽车用户购买电能, 实现电能的灵活配置。 0004 区块链是一种分布式、 去中心化的系统, 具有安全、 不可篡改等特点, 在数字货币 交易领域具有广泛的应用。 通过应用零知识证明等密码学技术, 区块链可以很好地。

13、隐藏用 户的交易记录和身份信息, 从而保护用户隐私。 此外, 区块链作为一种底层技术, 还可以支 持智能合约。 智能合约是一种安全可靠、 自动化运行的程序, 理论上可以为用户提供任何计 算服务。 包含智能合约的区块链在金融、 医疗、 能源、 保险和物联网领域都有着广泛的应用。 0005 在V2G所描述的场景中, 电动汽车与电网系统或其他电动汽车进行电能交易, 考虑 到交易双方相互的信任问题, 需要一个可信的第三方作为担保, 防止任何一方出现欺骗行 为, 而区块链则可以很好地胜任这个角色。 交易双方在区块链中进行协商, 付款方预支付一 定数量的金额, 双方在线下进行电能交易, 最后在系统中进行结。

14、算。 0006 在实现本公开的过程中, 发明人发现现有技术中存在以下技术问题: 0007 传统的第三方支付平台往往会掌握大量的用户隐私, 比如支付金额、 支付时间, 这 些信息会被用于推断用户的行为习惯, 并用于各种商业目的。 发明内容 0008 为了解决现有技术的不足, 本公开提供了基于区块链的V2G交易隐私保护方法、 设 备及系统; 0009 第一方面, 本公开提供了基于区块链的V2G交易隐私保护方法; 0010 基于区块链的V2G交易隐私保护方法, 包括: 0011 区块链节点接收买方客户端匿名发送的交易参数, 将交易参数和买方客户端生成 的第一个零知识证明以智能合约的形式记录到区块链上。

15、; 区块链节点验证第一个零知识证 说明书 1/10 页 4 CN 111428268 A 4 明的正确性, 并将验证通过的交易参数记录在区块链上; 0012 区块链节点接收买方客户端匿名发送的担保费用, 将担保费用和买方客户端生成 的第二个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第二个零知识证 明的正确性, 并将验证通过的担保费用记录在区块链上; 0013 区块链节点接收卖方客户端匿名发送的用于结算的支付凭证, 将用于结算的支付 凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上; 区块链节 点验证第三个零知识证明的正确性, 并将验证通过的支付凭证记录在区块。

16、链上; 基于区块 链的智能合约, 将支付凭证转化为对应数额的资金; 将对应数额的资金发送给卖方客户端; 将担保费用发送给买方客户端。 0014 第二方面, 本公开还提供了基于区块链的V2G交易隐私保护系统; 0015 基于区块链的V2G交易隐私保护系统, 包括: 0016 区块链节点, 其被配置为: 接收买方客户端匿名发送的交易参数, 将交易参数和买 方客户端生成的第一个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第 一个零知识证明的正确性, 并将验证通过的交易参数记录在区块链上; 0017 区块链节点, 其被配置为: 接收买方客户端匿名发送的担保费用, 将担保费用和买 方客户端。

17、生成的第二个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第 二个零知识证明的正确性, 并将验证通过的担保费用记录在区块链上; 0018 区块链节点, 其被配置为: 接收卖方客户端匿名发送的用于结算的支付凭证, 将用 于结算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块 链上; 区块链节点验证第三个零知识证明的正确性, 并将验证通过的支付凭证记录在区块 链上; 基于区块链的智能合约, 将支付凭证转化为对应数额的资金; 将对应数额的资金发送 给卖方客户端; 将担保费用发送给买方客户端。 0019 第三方面, 本公开还提供了一种电子设备, 包括存储器和处理器以及。

18、存储在存储 器上并在处理器上运行的计算机指令, 所述计算机指令被处理器运行时, 完成第一方面所 述的方法。 0020 第四方面, 本公开还提供了一种计算机可读存储介质, 用于存储计算机指令, 所述 计算机指令被处理器执行时, 完成第一方面所述的方法。 0021 与现有技术相比, 本公开的有益效果是: 0022 使用了基于哈希链的微支付手段, 来减少线下交易的成本, 同时有效地防止线下 交易中任何一方的不诚实行为。 在微支付中, 支付方所使用的是一种支付凭证 payword, payword可以通过智能合约计算得到对应的价值。 0023 本发明使用智能合约实现公平可靠的交易结算, 解决交易双方的。

19、信任问题; 0024 本发明应用区块链与零知识证明相结合的方法, 通过隐藏了结算过程与双方用户 账户的关联性, 保护用户在第三方平台上的数据记录隐私; 0025 本发明应用基于哈希链的微支付手段, 保障了线下电力交易的灵活性和安全性, 同时可以节约交易成本。 附图说明 0026 构成本申请的一部分的说明书附图用来提供对本申请的进一步理解, 本申请的示 说明书 2/10 页 5 CN 111428268 A 5 意性实施例及其说明用于解释本申请, 并不构成对本申请的不当限定。 0027 图1为第一个实施例的哈希链结构; 0028 图2为第一个实施例的默克尔树结构; 0029 图3为第一个实施例的。

20、微支付交易过程; 0030 图4(a)和图4(b)为第一个实施例的Convert与Commit操作所证明的关系图示(带 阴影的为私密参数); 0031 图5(a)和图5(b)为第一个实施例的Claim与Deposit操作所证明的关系图示(带阴 影的为私密参数)。 具体实施方式 0032 应该指出, 以下详细说明都是示例性的, 旨在对本申请提供进一步的说明。 除非另 有指明, 本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常 理解的相同含义。 0033 需要注意的是, 这里所使用的术语仅是为了描述具体实施方式, 而非意图限制根 据本申请的示例性实施方式。 如在这里所使用的,。

21、 除非上下文另外明确指出, 否则单数形式 也意图包括复数形式, 此外, 还应当理解的是, 当在本说明书中使用术语 “包含” 和/或 “包 括” 时, 其指明存在特征、 步骤、 操作、 器件、 组件和/或它们的组合。 0034 区块链本身安全公开的特性也为用户的隐私保护增添了难度, 比如要验证一笔交 易正确性的同时隐藏交易的具体细节, 这可以通过应用零知识证明技术来解决。 零知识证 明技术指的是: 证明者拥有一些 “知识” 可以满足某个论断, 在不向验证者提供任何 “知识” 的情况下, 能够使验证者相信某个论断是正确的一种方法。 应用零知识证明, 用户就可以在 不提供身份信息和具体金额的情况下完。

22、成区块链上的资金交易。 0035 使用基于哈希链的微支付手段进行线下电能交易, 使用区块链和智能合约进行交 易结算。 结算过程拆分为若干部分以取消交易本身与交易双方的关联性, 每一部分都是区 块链中的一笔交易, 采用零知识证明技术zk-SNARK为交易提供有效证明, 使得区块链中的 验证者矿工可以验证某个交易的正确性, 却无法获知该交易的发送者, 更无法将该交 易与其他交易相关联, 从而保护了用户的交易隐私。 在下面的详细叙述中, 我们用EVA表示 提供电能的卖方汽车(或电网), EVB表示付款的买方汽车(或电网)。 0036 本发明中的术语解释: 0037 1、 基于哈希链的微支付: 支付方。

23、通过迭代使用哈希函数h生成一条链, 链中的哈希 值称为payword, 如图1所示, hi-1h(hi), 且h0hi(hi), h为哈希函数。 由于哈希函数具有单 向不可逆的特性, 通过哈希结果无法计算出原输入的值, 因此每个payword都可以做为代表 某个价值的支付凭证, 其拥有的价值取决于得到h0(哈希根)所需要哈希的次数, 例如h100可 以当做价值100元的支付凭证。 微支付过程由可信第三方担保, 交易结束后收款方可以将 payword兑换成相应价值的金额。 0038 2、 zk-SNARK: 一种零知识证明系统, 可以为一组满足特定等式关系的参数生成证 明, 在不暴露参数的情况下。

24、, 让验证者相信等式的正确性。 0039 3、 零知识余额/金额: 一种使用哈希值表示的隐藏余额/金额, 其组成形式为: cmt SHA256(v,sn,r), 其中v是cmt对应的金额数值; sn是cmt唯一对应的序列号, sn公布代表 说明书 3/10 页 6 CN 111428268 A 6 cmt已被花费; r是用于防止暴力破解的私密随机数。 零知识余额的使用和存入必须通过零 知识证明验证, 使用新的零知识余额代替旧的零知识余额。 一旦零知识余额更新, 旧余额的 序列号sn会被公布。 0040 4、 默克尔树: 一种哈希树, 由叶结点不断组合哈希生成, 结构如图2所示。 当其叶结 点存。

25、储的所有数据相同且顺序一致时, 生成的默克尔树是唯一确定的, 包括树的根。 0041 5、 数字签名: 一种对信息进行身份认证的方式, 签名者拥有一对密钥公钥pk 和私钥sk, 公钥公开代表身份, 只有使用私钥生成的签名, 才能通过对应公钥的验证。 0042 6、 矿工: 区块链的实际维护者, 负责执行提交到区块链中的交易, 并生成区块记 录, 从中赚取奖励。 在公链系统中, 任何用户都可以担任矿工的角色。 0043 实施例一, 本实施例提供了基于区块链的V2G交易隐私保护方法; 0044 基于区块链的V2G交易隐私保护方法, 包括: 0045 区块链节点接收买方客户端匿名发送的交易参数, 将。

26、交易参数和买方客户端生成 的第一个零知识证明记录到区块链上; 区块链节点验证第一个零知识证明的正确性, 并将 验证通过的交易参数记录在区块链上; 0046 区块链节点接收买方客户端匿名发送的担保费用, 将担保费用和买方客户端生成 的第二个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第二个零知识证 明的正确性, 并将验证通过的担保费用记录在区块链上; 0047 区块链节点接收卖方客户端匿名发送的用于结算的支付凭证, 将用于结算的支付 凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上; 区块链节 点验证第三个零知识证明的正确性, 并将验证通过的支付凭证记录在区块链。

27、上; 基于区块 链的智能合约, 将支付凭证转化为对应数额的资金; 将对应数额的资金发送给卖方客户端; 将担保费用发送给买方客户端。 0048 进一步地, 所述交易参数, 包括: 担保费凭证、 最大支付次数和用于区分卖方客户 端和买方客户端的一次性公钥; 0049 进一步地, 所述交易参数, 是由买方客户端和卖方客户端预先协商的参数。 0050 进一步地, 所述交易参数, 包括: cmtc, N, pkA, pkB。 0051 其中, cmtc为担保费凭证, 且cmtcSHA256(amt,rc), amt代表EVB需要支付的担保 费用, rc是隐藏amt具体数值的随机数, amt和rc由双方客。

28、户端保存保存; N是最大支付次数, N 代表EVB生成的哈希链的总长度; pkA和pkB, 是用于区分EVA和EVB的一次性公钥, EVA和EVB在 与智能合约交互时需要用该公钥对应的私钥skA和skB生成签名, 用于验证双方在交易中的 角色。 0052 进一步地, 所述哈希链是由买方客户端生成的。 0053 进一步地, 所述哈希链生成的具体步骤包括: 0054 首先生成一个随机数值hN, 然后对hN进行哈希运算, 得到hN-1h(hN); 0055 以此类推, 依次得到hN-2, hN-3, , h1, h0, 构成整条哈希链; N表示哈希链的长度。 0056 进一步地, 所述区块链节点验证。

29、第二个零知识证明的正确性, 并将验证通过的担 保费用记录在区块链上之后; 所述区块链节点接收卖方客户端匿名发送的用于结算的支付 凭证步骤之前; 还包括: 0057 买方客户端与卖方客户端开始线下微支付交易, 线下交易结束后, 买方客户端得 说明书 4/10 页 7 CN 111428268 A 7 到电能, 卖方客户端得到用于结算的支付凭证。 0058 进一步地, 第一个零知识证明, 所证明的内容包括: 0059 买方客户端当前的零知识余额等于第一哈希值、 买方客户端生成的零知识金额等 于第二哈希值、 交易完成后买方客户端的零知识余额等于第三哈希值、 第一私密参数大于 第二私密参数、 并且第一。

30、私密参数与第二私密参数的差值等于第三私密参数。 0060 优选的, 所述将交易参数和买方客户端生成的第一个零知识证明以智能合约的形 式记录到区块链上; 区块链节点验证第一个零知识证明的正确性, 并将验证通过的交易参 数记录在区块链上; 具体步骤包括: 0061 S11: 买方客户端EVB从自己的零知识余额cmtB中生成一笔零知识金额cmtv; 买方客 户端EVB生成一个零知识证明 convert, 证明如下内容: 0062 S111: 买方客户端EVB当前的零知识余额是cmtBSHA256(vB,snB,rB); 0063 S112: 生成的零知识金额是cmtvSHA256(amt,snv,r。

31、v); 0064 S113: 操作完成后, 买方客户端EVB的零知识余额cmtB SHA256(vB ,snB ,rB ); 0065 S114: vB大于等于amt; 0066 S115: vB-amtvB 。 0067 以上关系如图4(a)所示。 0068 其中, 公开参数为snB, cmtB, cmtv, cmtB ; 私密的参数为vB, rB, amt, snv, rv, vB , snB , rB 。 0069 买方客户端EVB将公开参数与零知识证明 convert, 发送到区块链中, 矿工使用公开 参数验证零知识证明 convert的正确性, 将交易记录在区块中, cmtv成为一笔。

32、有效的零知识金 额, EVB的零知识金额更新为cmtB 。 0070 进一步地, 所述区块链节点验证第一个零知识证明的正确性, 是基于公开参数进 行验证。 0071 进一步地, 第二个零知识证明, 所证明的内容包括: 0072 买方客户端使用的零知识金额等于第二哈希值、 零知识金额存在于预生成的默克 尔树中、 或者, 买方客户端支付的担保费凭证等于第四哈希值。 0073 进一步地, 所述区块链节点接收买方客户端匿名发送的担保费用, 将担保费用和 买方客户端生成的第二个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证 第二个零知识证明的正确性, 并将验证通过的担保费用记录在区块链上; 。

33、具体步骤包括: 0074 买方客户端EVB在区块链中部署一个智能合约, 将交易参数上传到智能合约当中, 同时使用cmtv向智能合约匿名支付担保费用。 0075 买方客户端EVB利用区块链中的若干个零知识金额生成一个默克尔树, 默克尔树 中包含买方客户端EVB在S11中生成的cmtv, 生成的默克尔树的根为RTcmt; 0076 买方客户端EVB生成一个零知识证明 commit, 证明如下内容: 0077 S121: 买方客户端EVB使用的零知识金额cmtvSHA256(amt,snv,rv); 0078 S122: 零知识金额cmtv存在于以RTcmt为根的默克尔树中; 0079 S123: 。

34、买方客户端支付的担保费凭证cmtcSHA256(amt,rc)。 0080 以上关系如图4(b)所示。 0081 其中, 公开参数为snv、 cmtc和RTcmt; 私密的参数为rv、 rc和cmtv。 说明书 5/10 页 8 CN 111428268 A 8 0082 买方客户端EVB将公开参数与 commit, 发送到区块链中, 并向智能合约发送参数 cmtc, N, pkA, pkB和h0。 0083 矿工使用公开参数验证 commit的正确性, 将交易记录在区块中, cmtv由于snv的公开 而失效, 智能合约保存所有参数, 担保开始。 0084 由于该步骤未公开cmtv和amt的值。

35、, 矿工等外者无法得知这笔零知识金额的拥有 者和具体金额。 0085 进一步地, 如图3所示, 买方客户端与卖方客户端开始线下微支付交易, 线下交易 结束后, 买方客户端得到电能, 卖方客户端得到用于结算的支付凭证; 具体步骤包括: 0086 S21: 卖方客户端EVA检验智能合约无误, 开启电力交易, 向买方客户端EVB的输送1 单位电力, 单位为amt/N; 0087 S22: 买方客户端EVB收到电力后给卖方客户端EVA发送第一个支付凭证paywordh1; 0088 S23: 卖方客户端EVA和买方客户端EVB重复步骤S21和S22达到设定次数, 最终EVB收 到 *amt/N的电力,。

36、 卖方客户端EVA得到 0089 进一步地, 第三个零知识证明, 所证明的内容包括: 0090 卖方客户端应得的零知识金额等于第五哈希值、 智能合约中的担保费用凭证等于 第四哈希值、 或者, 第四私密数据等于第二私密参数与设定公开参数的乘积。 0091 优选的, 区块链节点接收卖方客户端匿名发送的用于结算的支付凭证, 将用于结 算的支付凭证和卖方客户端生成的第三个零知识证明以智能合约的形式记录到区块链上; 区块链节点验证第三个零知识证明的正确性, 并将验证通过的支付凭证记录在区块链上; 基于区块链的智能合约, 将支付凭证转化为对应数额的资金; 具体步骤包括: 0092卖方客户端EVA将交易凭证。

37、兑换成相应数值的零知识金额。 0093 S31: 卖方客户端EVA生成参数构建自己应得的零知识金额cmta, cmta对应的明文数 值为va。 0094 卖方客户端EVA生成一个零知识证明 claim, 证明如下内容: 0095 S311: 卖方客户端应得的零知识金额cmtaSHA256(va,sna,ra); 0096 S312: 合约中的担保费凭证cmtcSHA256(amt,rc); 0097S313: 0098 以上关系如图5(a)所示。 0099其中, 公开参数为cmta、 cmtc、 N; 私密参数为va、 amt、 sna、 ra、 rc; 0100卖方客户端EVA向智能合约发送。

38、参数cmta、 SigA; SigA是用于验证卖方客户端EVA 收款方身份的一次性签名。 0101智能合约在验证过签名之后, 通过公式计算得到 0102智能合约使用计算出的卖方客户端发送的cmta, 以及上述S12中保存的参数 cmtc、 N, 验证 claim的正确性。 验证正确后将cmta存储在区块链中, cmta成为一笔有效的零知 识金额。 0103 进一步地, 所述将对应数额的资金发送给卖方客户端; 具体步骤包括: 0104 区块链节点接收卖方客户端匿名发送的资金转换请求; 将资金转换请求和卖方客 说明书 6/10 页 9 CN 111428268 A 9 户端生成的第四个零知识证明以。

39、智能合约的形式记录到区块链上; 区块链节点验证第四个 零知识证明的正确性, 并将验证通过的支付凭证转化为对应数额的资金。 0105 进一步地, 所述第四个零知识证明, 所证明的内容包括: 0106 卖方客户端当前的零知识余额等于第六哈希值、 待存入的零知识金额等于第五哈 希值、 操作完成后卖方客户端的零知识余额等于第七哈希值、 或者, 第四私密数据与第五私 密数据之和等于第六私密数据。 0107 优选的, 将对应数额的资金发送给卖方客户端; 具体步骤包括: 0108 卖方客户端EVA将零知识金额cmta存储到自己的零知识余额cmtA中。 0109 S32: 卖方客户端EVA生成一个零知识证明 。

40、deposit, 证明如下内容: 0110 S321: EVA当前的零知识余额cmtASHA256(vA,snA,rA); 0111 S322: 要存入的零知识金额cmtaSHA256(va,sna,ra); 0112 S323: 操作完成后EVA的零知识余额cmtA SHA256(vA ,snA ,rA ); 0113 S324: vA+vavA 。 0114 以上关系如图5(b)所示。 0115 其中, 公开参数为snA、 cmtA、 cmta和cmtA ; 私密参数为vA、 rA、 va、 sna、 ra、 vA 、 snA 和 rA 。 0116 EVA将公开参数与零知识证明depos。

41、it, 发送到区块链中, 矿工使用公开参数验证 deposit的正确性, 将交易记录在区块中, cmta由于sna的公开而失效, EVA的零知识金额更新 为cmtA 。 0117 进一步地, 将担保费用发送给买方客户端; 具体步骤包括: 0118 区块链节点接收买方客户端匿名发送的担保费用取回请求; 将担保费用取回请求 和买方客户端生成的第五个零知识证明以智能合约的形式记录到区块链上; 区块链节点验 证第五个零知识证明的正确性, 并将验证通过的担保费用发送给买方客户端。 0119 进一步地, 所述第五个零知识证明, 证明的内容包括: 0120 买方客户端应取回的零知识金额等于第八哈希值、 智能。

42、合约中的担保费凭证等于 第四哈希值、 第七私密数据等于公开参数与设定私密数据的乘积、 或, 公开参数等于设定公 开参数的差值。 0121 优选的, 将担保费用发送给买方客户端; 具体步骤包括: 0122 买方客户端EVB以零知识金额的形式取回担保费剩余的部分; 0123 首先EVB生成参数构建自己应取回的的零知识金额cmtf, cmtf对应的明文数值为 vf。 0124 EVB需要生成一个零知识证明 refund, 证明以下内容: 0125 S41: 买方客户端应取回的零知识金额cmtfSHA256(vf,snf,rf); 0126 S42: 合约中的担保费凭证cmtcSHA256(amt,r。

43、c); 0127 S43: vfdamt/N; 0128S44: 0129 其中, 公开参数为cmtf、 cmtc、 d、 N, 私密参数为vf、 amt、 snf、 rf、 rc; 0130 买方客户端EVB向智能合约发送参数cmtf、 SigB; SigB是用于验证EVB付款方身份的 一次性签名。 说明书 7/10 页 10 CN 111428268 A 10 0131智能合约计算卖方客户端发送的cmta, 以及上述S12中保存的参数 cmtc、 N, 验证 claim的正确性。 验证正确后将cmtf存储在区块链中, cmtf成为一笔有效的零知 识金额。 0132 EVB将cmtf存入自己。

44、的余额。 0133 实施例1.1 0134 考虑交易中卖方的具体操作。 用户A是一个电动汽车用户, 他账户中的零知识余额 为cmtASHA256(vA,snA,rA), 他想将电动汽车中的电出售给用户B, 包括步骤如下: 0135 1.1.1用户A与用户B在线下协商好交易参数cmtc, N, pkA, pkB, 然后等待用户B在区 块链中部署智能合约; 0136 1.1.2智能合约部署在区块链上后, 用户A检查合约中的交易参数与之前两方商议 的参数是否相同, 并检查合约中是否存有正确数目的担保费。 0137 若参数相同且担保费数目正确, 则继续进行交易的下一步操作; 0138 若参数不同或担保。

45、费数目不正确, 则认为用户B存在欺诈行为, 交易作废。 0139 1.1.3确认无误之后, 用户A开启微支付交易, 向用户B输送电力。 用户A向用户B输 送1单位的电力, 等待用户B发送的payword hi, i代表用户A第i次输送电力。 0140 1.1.4若接收到用户B发来的hi, 则用户A使用智能合约中的h0验证hi的正确性(验 证方法为h0hi(hi), 若hi正确, 则重复步骤3, 继续向用户B发送电力, 直到用户A想结束交 易为止; 若没有收到用户B发来的hi或hi不正确, 则认为用户B存在欺骗行为, 本次微支付失 败, 提前终止交易(但不影响之前交易的有效性)。 在用户B存在欺。

46、骗的情况下, 用户A可能会 得不到任何有效的payword, 但至多损失1单位电力。 01411.1.5微支付交易结束后, 用户A得到一个有效的payword后(若没有得到任何有 效的payword则整个交易作废), 生成参数, 构造一个零知识金额cmtaSHA256(va,sna,ra), 结合cmtcSHA256(amt,rc)、和N生成零知识证明 claim; 同时使用skA生成一次性签名SigA。 用户A将cmta、 SigA发送给智能合约, 等待智能合约验证后, cmta成为用户A的有效零知识 金额。 0142 1.1.6用户A想将这笔零知识金额存入自己的零知识余额中。 用户A生成参。

47、数, 构造 一个新的零知识余额cmtA SHA256(vA,snA,rA ), 并根据当前的零知识余额cmtA SHA256(vA,snA,rA)和需要存入的零知识金额cmtaSHA256(va,sna,ra), 生成零知识证明 deposit。 用户A将snA, cmtA, cmta, cmtA 和 deposit发送到区块链中, 等待矿工验证后, 零知识金 额cmta存入用户A的零知识余额完成。 0143 实施例1.2 0144 考虑交易中买方的具体操作。 用户B是一个电动汽车用户, 他账户中的零知识余额 为cmtBSHA256(vB,snB,rB), 他想购买用户A的电力, 包括步骤如下。

48、: 0145 1.2.1用户B生成担保费凭证cmtcSHA256(amt,rc), 与用户A在线下协商好交易参 数cmtc, N, pkA, pkB, 然后用户B生成一条长度为N的哈希链, 哈希根为h0。 0146 1.2.2用户B生成参数, 构造一个零知识金额cmtvSHA256(amt,snv,rv), 并构造一 个使用后的零知识余额cmtB SHA256(vB ,snB ,rB )。 用户B根据这些参数生成零知识证 明 convert, 并将snB, cmtB, cmtv, cmtB 与 convert, 发送到区块链中, 等待矿工验证后, cmtv成为 说明书 8/10 页 11 CN。

49、 111428268 A 11 一笔有效的零知识金额。 0147 1.2.3用户B部署一个智能合约, 将协商的交易参数和h0上传到智能合约中。 用户B 使用之前生成的零知识金额cmtv与区块链中的多个零知识金额一起构造一棵默克尔树, 根 为RTcmt。 0148 之后用户A用cmtv、 cmtc的参数和这棵默克尔树生成零知识证明 commit, 并将snv、 cmtc、 RTcmt和 commit一起发送到区块链中, 等待矿工验证后, 数额为amt的担保费和交易参数 存入到智能合约当中。 合约部署好之后, 用户B等待用户A发起微支付交易。 0149 1.2.4用户B接收到用户A输送的1单位电力。

50、后, 将一个payword hi发送给用户A, 然 后继续等待用户A输送电力。 若用户A不再输送电力, 则等待用户A完成结算。 0150 1.2.5待用户A完成结算后, 用户B取回剩余的担保费用。 首先用户B生成参数, 构造 一个零知识金额cmtfSHA256(vf,snf,rf), 结合cmtcSHA256(amt,rc)、 d和N生成零知识证 明 refund; 同时使用skB生成一次性签名SigB。 用户B将cmtf、 SigB发送给智能合约, 等待智能 合约验证后, cmtf成为用户B的有效零知识金额。 0151 用户B将这笔零知识金额存入自己的零知识余额, 方法同实施例1.1中的步骤。

展开阅读全文
内容关键字: 基于 区块 V2G 交易 隐私 保护 方法 设备 系统
关于本文
本文标题:基于区块链的V2G交易隐私保护方法、设备及系统.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/9225459.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1