首页 / 专利库 / 银行与财务事项 / 区块链交易 / 区块链交易方法及装置、电子设备

链交易方法及装置、电子设备

阅读:641发布:2020-05-11

专利汇可以提供链交易方法及装置、电子设备专利检索,专利查询,专利分析的服务。并且本 说明书 一个或多个 实施例 提供一种 区 块 链 交易方法及装置、 电子 设备,应用于汇出方设备,所述方法包括:确定将要从汇出方区块链账户汇入接收方区块链账户的交易额;其中,所述汇出方区块链账户在区块链中登记有汇出方余额承诺、所述接收方区块链账户在区块链中登记有接收方余额承诺;获取交易承诺,所述交易承诺由同态加密 算法 根据所述交易额计算得到;向区块链提交交易,所述交易中包含所述汇出方区块链账户的信息、所述接收方区块链账户的信息和所述交易承诺,使得所述汇出方余额承诺在交易完成后扣除所述交易承诺、所述接收方余额承诺在交易完成后增加所述交易承诺。,下面是链交易方法及装置、电子设备专利的具体信息内容。

1.一种链交易方法,应用于汇出方设备,所述方法包括:
确定将要从汇出方区块链账户汇入接收方区块链账户的交易额;其中,所述汇出方区块链账户在区块链中登记有汇出方余额承诺、所述接收方区块链账户在区块链中登记有接收方余额承诺,所述汇出方余额承诺由同态加密算法根据汇出方余额计算得到、所述接收方余额承诺由所述同态加密算法根据接收方余额计算得到;
获取交易承诺,所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;
将所述交易随机数和所述交易承诺通过链外通道发送至所述接收方设备,以由所述接收方设备验证所述交易承诺、所述交易随机数和所述交易额之间的关联关系;
在收到所述接收方设备在所述关联关系通过验证后生成并返回的接收方签名后,向区块链提交交易,所述交易中包含所述汇出方区块链账户的信息、所述接收方区块链账户的信息和所述交易承诺,使得所述汇出方余额承诺在交易完成后扣除所述交易承诺、所述接收方余额承诺在交易完成后增加所述交易承诺。
2.根据权利要求1所述的方法,所述接收方余额承诺由所述同态加密算法根据所述接收方余额和接收方随机数计算得到、所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;所述方法还包括:
将所述交易随机数通过链外通道发送至所述接收方设备,以由所述接收方设备根据更新后接收方余额承诺、更新后接收方随机数确定更新后接收方余额;
其中,所述更新后接收方余额承诺由所述接收方余额承诺增加所述交易承诺得到、所述更新后接收方随机数由所述接收方随机数增加所述交易随机数得到、所述更新后接收方余额为所述接收方余额与所述交易额之和。
3.根据权利要求1所述的方法,还包括:
获取所述接收方设备通过接收方私钥生成的与所述交易承诺相关的接收方签名,所述接收方签名由所述接收方设备在所述关联关系通过验证后生成;
将所述接收方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。
4.根据权利要求1所述的方法,还包括:
通过汇出方私钥生成与所述交易承诺相关的汇出方签名;
将所述汇出方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。
5.根据权利要求1所述的方法,所述汇出方余额承诺由所述同态加密算法根据所述汇出方余额和汇出方随机数计算得到、所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;
其中,所述汇出方余额在交易完成后扣除所述交易额、所述汇出方随机数在交易完成后扣除所述交易随机数。
6.根据权利要求5所述的方法,还包括:
根据所述汇出方随机数、所述汇出方余额、所述汇出方余额承诺、所述交易随机数、所述交易额和所述交易承诺生成区间证明;
将所述区间证明添加至所述交易中,以供所述区块链中的区块链节点验证所述交易额是否满足:所述交易额不小于0且所述交易额不大于所述汇出方余额。
7.一种区块链交易装置,应用于汇出方设备,所述装置包括:
确定单元,确定将要从汇出方区块链账户汇入接收方区块链账户的交易额;其中,所述汇出方区块链账户在区块链中登记有汇出方余额承诺、所述接收方区块链账户在区块链中登记有接收方余额承诺,所述汇出方余额承诺由同态加密算法根据汇出方余额计算得到、所述接收方余额承诺由所述同态加密算法根据接收方余额计算得到;
获取单元,获取交易承诺,所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;
第二发送单元,将所述交易随机数和所述交易承诺通过链外通道发送至所述接收方设备,以由所述接收方设备验证所述交易承诺、所述交易随机数和所述交易额之间的关联关系;
提交单元,在收到所述接收方设备在所述关联关系通过验证后生成并返回的接收方签名后,向区块链提交交易,所述交易中包含所述汇出方区块链账户的信息、所述接收方区块链账户的信息和所述交易承诺,使得所述汇出方余额承诺在交易完成后扣除所述交易承诺、所述接收方余额承诺在交易完成后增加所述交易承诺。
8.根据权利要求7所述的装置,所述接收方余额承诺由所述同态加密算法根据所述接收方余额和接收方随机数计算得到、所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;所述装置还包括:
第一发送单元,将所述交易随机数通过链外通道发送至所述接收方设备,以由所述接收方设备根据更新后接收方余额承诺、更新后接收方随机数确定更新后接收方余额;
其中,所述更新后接收方余额承诺由所述接收方余额承诺增加所述交易承诺得到、所述更新后接收方随机数由所述接收方随机数增加所述交易随机数得到、所述更新后接收方余额为所述接收方余额与所述交易额之和。
9.根据权利要求7所述的装置,还包括:
签名获取单元,获取所述接收方设备通过接收方私钥生成的与所述交易承诺相关的接收方签名,所述接收方签名由所述接收方设备在所述关联关系通过验证后生成;
第一添加单元,将所述接收方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。
10.根据权利要求7所述的装置,还包括:
第一生成单元,通过汇出方私钥生成与所述交易承诺相关的汇出方签名;
第二添加单元,将所述汇出方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。
11.根据权利要求7所述的装置,所述汇出方余额承诺由所述同态加密算法根据所述汇出方余额和汇出方随机数计算得到、所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;
其中,所述汇出方余额在交易完成后扣除所述交易额、所述汇出方随机数在交易完成后扣除所述交易随机数。
12.根据权利要求11所述的装置,还包括:
第二生成单元,根据所述汇出方随机数、所述汇出方余额、所述汇出方余额承诺、所述交易随机数、所述交易额和所述交易承诺生成区间证明;
第三添加单元,将所述区间证明添加至所述交易中,以供所述区块链中的区块链节点验证所述交易额是否满足:所述交易额不小于0且所述交易额不大于所述汇出方余额。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器
其中,所述处理器通过执行所述指令以实现如权利要求1-6中任一项所述的区块链交易方法。

说明书全文

链交易方法及装置、电子设备

技术领域

[0001] 本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种区块链交易方法及装置、电子设备。

背景技术

[0002] 区块链可以通过在各个区块链节点之间达成共识,从而在各个区块链节点之间共同维护统一的区块链账本,以永久记载区块链网络中发生的交易信息。区块链账本是完全公开的,以便于随时查看和验证已发生交易的历史数据。发明内容
[0003] 有鉴于此,本说明书一个或多个实施例提供一种区块链交易方法及装置、电子设备。
[0004] 为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0005] 根据本说明书一个或多个实施例的第一方面,提出了一种区块链交易方法,应用于汇出方设备,所述方法包括:
[0006] 确定将要从汇出方区块链账户汇入接收方区块链账户的交易额;其中,所述汇出方区块链账户在区块链中登记有汇出方余额承诺、所述接收方区块链账户在区块链中登记有接收方余额承诺,所述汇出方余额承诺由同态加密算法根据汇出方余额计算得到、所述接收方余额承诺由所述同态加密算法根据接收方余额计算得到;
[0007] 获取交易承诺,所述交易承诺由所述同态加密算法根据所述交易额计算得到;
[0008] 向区块链提交交易,所述交易中包含所述汇出方区块链账户的信息、所述接收方区块链账户的信息和所述交易承诺,使得所述汇出方余额承诺在交易完成后扣除所述交易承诺、所述接收方余额承诺在交易完成后增加所述交易承诺。
[0009] 根据本说明书一个或多个实施例的第二方面,提出了一种区块链交易装置,应用于汇出方设备,所述装置包括:
[0010] 确定单元,确定将要从汇出方区块链账户汇入接收方区块链账户的交易额;其中,所述汇出方区块链账户在区块链中登记有汇出方余额承诺、所述接收方区块链账户在区块链中登记有接收方余额承诺,所述汇出方余额承诺由同态加密算法根据汇出方余额计算得到、所述接收方余额承诺由所述同态加密算法根据接收方余额计算得到;
[0011] 获取单元,获取交易承诺,所述交易承诺由所述同态加密算法根据所述交易额计算得到;
[0012] 提交单元,向区块链提交交易,所述交易中包含所述汇出方区块链账户的信息、所述接收方区块链账户的信息和所述交易承诺,使得所述汇出方余额承诺在交易完成后扣除所述交易承诺、所述接收方余额承诺在交易完成后增加所述交易承诺。
[0013] 根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
[0014] 处理器;
[0015] 用于存储处理器可执行指令的存储器
[0016] 其中,所述处理器通过执行所述指令以实现如上述实施例中任一所述的区块链交易方法。附图说明
[0017] 图1是一示例性实施例提供的一种区块链交易方法的流程图
[0018] 图2是一示例性实施例提供的一种在区块链网络中实施汇款交易的示意图。
[0019] 图3是一示例性实施例提供的一种在区块链网络中实施汇款交易的流程图。
[0020] 图4是一示例性实施例提供的一种设备的结构示意图。
[0021] 图5是一示例性实施例提供的一种区块链交易装置的框图

具体实施方式

[0022] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0023] 需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0024] 图1是一示例性实施例提供的一种区块链交易方法的流程图。如图1所示,该方法应用于汇出方设备,可以包括以下步骤:
[0025] 步骤102,确定将要从汇出方区块链账户汇入接收方区块链账户的交易额;其中,所述汇出方区块链账户在区块链中登记有汇出方余额承诺、所述接收方区块链账户在区块链中登记有接收方余额承诺,所述汇出方余额承诺由同态加密算法根据汇出方余额计算得到、所述接收方余额承诺由所述同态加密算法根据接收方余额计算得到。
[0026] 在一实施例中,汇出方用户与接收方用户可以约定交易额的数值;其中,汇出方用户对应于汇出方设备、接收方用户对应于接收方设备,汇出方设备与接收方设备之间可以实现基于本说明书的区块链交易方案,从汇出方区块链账户向接收方区块链账户汇入(或称为转移)对应于该交易额的资产凭证。资产凭证可以对应于区块链内的代币(token)、数字资产等智能资产,资产凭证还可以对应于区块链外的现金、证券、优惠券、房产等链外资产,本说明书并不对此进行限制。
[0027] 在一实施例中,由于区块链中的各个区块链节点需要基于共识而分别维护有统一的区块链账本,因而通过在区块链内登记汇出方余额承诺、接收方余额承诺,使得区块链节点维护的区块链账本中仅会记录该汇出方余额承诺、接收方余额承诺,而不会直接记录汇出方余额、接收方余额,使得汇出方用户持有的区块链余额、接收方用户持有的区块链余额被作为私密数据而隐藏。
[0028] 步骤104,获取交易承诺,所述交易承诺由所述同态加密算法根据所述交易额计算得到。
[0029] 在一实施例中,可以采用任意类型的同态加密算法,只要确保该同态加密算法能够满足加法同态并且能够支持对明文数据属于某个区间的证明,使得汇出方余额承诺可以直接扣除交易承诺、接收方余额承诺可以直接增加交易承诺,也使得汇出方能够就加密后的密文提供证明来证明交易金额不小于零、也不大于汇出方账户余额。对于该同态加密算法为加法同态加密算法或全同态加密算法,本说明书并不对此进行限制。
[0030] 在一实施例中,同态加密算法可以通过生成一随机数,使得该随机数与未加密数据一并被计算为相应的承诺数据,从而可以通过获知随机数以对承诺数据进行解密得到相应的未加密数据,或者通过获知随机数以验证承诺数据是否对应于未加密数据。譬如,该同态加密算法可以基于相关技术中的Pedersen承诺机制,当然本说明书并不对此进行限制。
[0031] 在一实施例中,当所述接收方余额承诺由所述同态加密算法根据所述接收方余额和接收方随机数计算得到、所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到时,汇出方设备可以将所述交易随机数通过链外通道发送至所述接收方设备,使得接收方设备可以根据更新后接收方余额承诺、更新后接收方随机数确定更新后接收方余额;其中,所述更新后接收方余额承诺由所述接收方余额承诺增加所述交易承诺得到、所述更新后接收方随机数由所述接收方随机数增加所述交易随机数得到、所述更新后接收方余额为所述接收方余额与所述交易额之和。
[0032] 在一实施例中,在提交所述交易之前,汇出方设备可以将所述交易承诺通过链外通道发送至所述接收方设备,以由所述接收方设备验证所述交易承诺、所述交易随机数和所述交易额之间的关联关系。接收方设备可以在验证通过后,允许交易实施,否则可以阻碍交易实施;譬如,接收方设备可以在验证通过后提供下述的接收方签名,否则拒绝提供该接收方签名。
[0033] 在一实施例中,汇出方设备可以获取所述接收方设备通过接收方私钥生成的与所述交易承诺相关的接收方签名,所述接收方签名由所述接收方设备在所述关联关系通过验证后生成;然后,将所述接收方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。例如,当交易中并未包含该接收方签名时,区块链节点可以判定为共识失败,从而拒绝执行该交易。
[0034] 在一实施例中,所述汇出方余额承诺可由所述同态加密算法根据所述汇出方余额和汇出方随机数计算得到、所述交易承诺可由所述同态加密算法根据所述交易额和交易随机数计算得到;其中,所述汇出方余额在交易完成后扣除所述交易额、所述汇出方随机数在交易完成后扣除所述交易随机数,则后续交易将在扣除交易额后得到的更新后汇出方余额、扣除交易随机数后的更新后汇出方随机数的基础上执行。
[0035] 在一实施例中,汇出方设备可以根据所述汇出方随机数、所述汇出方余额、所述汇出方余额承诺、所述交易随机数、所述交易额和所述交易承诺生成区间证明,并将所述区间证明添加至所述交易中,以供所述区块链中的区块链节点验证所述交易额是否满足:所述交易额不小于0且所述交易额不大于所述汇出方余额。例如,可以采用相关技术中的区间证明(Range Proof)技术,譬如Bulletproofs方案或Borromean环签名方案等,本说明书并不对此进行限制。
[0036] 在一实施例中,汇出方设备可以通过汇出方私钥生成与所述交易承诺相关的汇出方签名,并将所述汇出方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。在其他实施例中,汇出方签名还可以与区间证明相关。例如,当交易中并未包含该汇出方签名时,区块链节点可以判定为共识失败,从而拒绝执行该交易。
[0037] 步骤106,向区块链提交交易,所述交易中包含所述汇出方区块链账户的信息、所述接收方区块链账户的信息和所述交易承诺,使得所述汇出方余额承诺在交易完成后扣除所述交易承诺、所述接收方余额承诺在交易完成后增加所述交易承诺。
[0038] 在一实施例中,通过在交易中采用交易承诺,使得区块链账本中只会记录该交易承诺,而无法获知相应的交易额,从而对交易额的取值进行隐藏和保密。同时,通过使用同态加密算法生成汇出方余额对应的汇出方余额承诺、接收方余额对应的接收方余额承诺、交易额对应的交易承诺,使得无需获知汇出方余额、接收方余额和交易额的情况下,即可在汇出方余额承诺与交易承诺之间直接实现扣除运算、在接收方余额承诺与交易承诺之间直接实现增加运算,确保在不透露隐私数据的情况下顺利完成交易。
[0039] 在一实施例中,区块链节点在接收到上述交易后,可以通过相关技术中的防双花或防重放机制,检查该交易是否已经执行过;如果已经执行过,则拒绝执行该交易。
[0040] 为了便于理解,下面以区块链网络中的汇款交易为例,对本说明书的技术方案进行详细说明。图2是一示例性实施例提供的一种在区块链网络中实施汇款交易的示意图。如图2所示,假定由用户A向用户B进行区块链汇款;其中,本说明书中的“用户”可以表现为所登录的用户账号,而该用户账号实际可以归属于个人或组织,本说明书并不对此进行限制。
[0041] 假定用户A使用的汇出方设备为用户设备1,譬如该用户设备1上登录有对应于用户A的用户账号;类似地,用户B使用的接收方设备为用户设备2。其中,用户设备1与用户设备2之间可以通过建立链下通道实现相应的链下通讯。
[0042] 用户设备1上可以运行有区块链的客户端程序,使得该用户设备1在区块链网络中存在对应的区块链节点,比如图2所示的节点1。类似地,用户设备2上可以运行有区块链的客户端程序,使得该用户设备2在区块链网络中存在对应的区块链节点,比如图2所示的节点2。区块链网络中还存在其他区块链节点,比如图2所示的节点i等,此处不再一一列举。通过上述的节点1、节点2等,使得用户A与用户B之间的汇款交易可以经由区块链网络实施,相关交易信息可以被记录至各个区块链节点分别维护的区块链账本中,可以避免发生篡改,并有助于后续查验。
[0043] 针对图2所示的汇款交易场景,图3是一示例性实施例提供的一种在区块链网络中实施汇款交易的流程图;如图3所示,汇出方、接收方和区块链节点之间的交互过程可以包括以下步骤:
[0044] 步骤301,汇出方起草汇款交易。
[0045] 在一实施例中,汇出方是指汇款交易中对款项等资源进行汇出的色,相应地接收方是指汇款交易中对款项等资源进行接收的角色。例如在图2所示的实施例中,用户设备1可以被配置为汇出方,而用户设备2可以被配置为接收方。
[0046] 在一实施例中,在起草汇款交易时,汇出方可以与接收方之间协商汇款额t。汇出方可以基于Pedersen承诺机制对该汇款额t进行同态加密;其中,汇出方可以针对该汇款额t产生汇款随机数r,则汇款额t对应的汇款承诺T=Comm(r,t)=grht,其中g、h为算法中已知的参数。
[0047] 步骤302,汇出方通过链下通道将(r,t,T)发送至接收方。
[0048] 在一实施例中,通过将(r,t,T)由链下通道而非区块链网络进行发送,可以避免汇款随机数r和汇款额t被记录至区块链账本中,确保汇款额t除汇出方和接收方之外不可知。
[0049] 步骤303,接收方对收到的(r,t,T)进行验证。
[0050] 在一实施例中,接收方首先对汇款额t进行验证,以确定其确实为协商的汇款数额。
[0051] 在一实施例中,在汇款额t无误时,接收方可以对汇款承诺T进行验证,即接收方可以通过Perdersen承诺机制的加密算法对汇款随机数r和汇款额t进行计算,以验证汇款承诺T=Comm(r,t)是否正确,若正确则表明验证通过,否则验证不通过。
[0052] 步骤304,接收方在验证通过后,生成签名并返回至汇出方。
[0053] 在一实施例中,在验证通过后,接收方可以利用接收方私钥对(A,B,T)进行签名,生成签名SIGB并返回至汇出方。该签名SIGB表明接收方同意由用户A的区块链账户1向用户B的区块链账户2实施承诺为T的汇款交易。
[0054] 步骤305,在收到签名SIGB后,汇出方生成区间证明PR。
[0055] 在一实施例中,在收到签名SIGB后,汇出方确定接收方允许实施汇款交易。汇出方向接收方实施汇款交易,实际上需要从用户A对应的区块链账户1向用户B对应的区块链账户2实施汇款操作。其中,虽然区块链账户1的账户余额sA、区块链账户2的账户余额sB在各个区块链节点维护的区块链账本上均有记载,但出于隐私保护的需求,记载内容实质上是账户余额sA对应的余额承诺SA、账户余额sB对应的余额承诺SB,余额承诺SA=Comm(rA,sA)、余额承诺SB=Comm(rB,sB),其中rA为sA对应的随机数、rB为sB对应的随机数。
[0056] 在一实施例中,为了确保汇款交易顺利完成,区块链节点需要确定汇款额t、账户余额sA的取值满足下述条件:t≥0、sA-t≥0;而区间证明技术可以使得区块链节点在密文状态下验证交易是否符合预设条件,譬如本说明书中可以采用相关技术中的Bulletproofs方案、Borromean环签名方案等实现,本说明书并不对此进行限制。汇出方可以利用区间证明技术生成与(rA,sA,SA,r,t,T)相关的区间证明PR,以供后续过程中由区块链节点进行验证是否满足t≥0、sA-t≥0。
[0057] 步骤306,汇出方对交易内容(A,B,T;PR)生成签名SIGA。
[0058] 在一实施例中,该汇出方可以利用汇出方私钥对交易内容(A,B,T;PR)进行签名,生成签名SIGA。
[0059] 步骤307,汇出方向区块链提交交易。
[0060] 在一实施例中,汇出方可以通过节点1向区块链提交相应的汇款交易(A,B,T;PR;SIGA,SIGB),以执行该汇款交易。该汇款交易(A,B,T;PR;SIGA,SIGB)将被传输至区块链网络中的所有区块链节点,并由各个区块链节点分别对该汇款交易(A,B,T;PR;SIGA,SIGB)进行验证,以在验证通过时执行汇款操作、在验证未通过时拒绝汇款。
[0061] 步骤308,区块链节点检查交易是否执行过。
[0062] 在一实施例中,此处的区块链节点可以表示区块链网络中的任意一个区块链节点,即区块链网络中的每一区块链节点均会收到汇款交易(A,B,T;PR;SIGA,SIGB),并通过步骤308~311等实施验证等操作。
[0063] 在一实施例中,区块链节点在收到汇款交易(A,B,T;PR;SIGA,SIGB)后,可以利用相关技术中的防双花或防重放机制,验证该汇款交易是否已经执行过;如果已经执行过,可以拒绝执行该汇款交易(A,B,T;PR;SIGA,SIGB),否则转入步骤309。
[0064] 步骤309,区块链节点检查签名。
[0065] 在一实施例中,区块链节点可以检查该汇款交易(A,B,T;PR;SIGA,SIGB)中包含的签名SIGA、SIGB是否正确;如果不正确,可以拒绝执行该汇款交易(A,B,T;PR;SIGA,SIGB),否则转入步骤310。
[0066] 步骤310,区块链节点检查区间证明PR。
[0067] 在一实施例中,区块链节点可以基于区间证明技术对该汇款交易(A,B,T;PR;SIGA,SIGB)包含的区间证明PR进行检查,以确定是否满足t≥0、sA-t≥0。如果不满足,可以拒绝执行该汇款交易(A,B,T;PR;SIGA,SIGB),否则转入步骤311。
[0068] 步骤311,区块链节点在维护的区块链账本中更新用户A、用户B分别对应的区块链账户的账户余额。
[0069] 在一实施例中,在通过步骤308~310的验证后,区块链节点可以将区块链账本中记载的账户余额sA对应的余额承诺SA扣除汇款承诺T、账户余额sB对应的余额承诺SB增加汇款承诺T,使得用户A对应的区块链账户1的余额承诺更新为SA-T、用户B对应的区块链账户2的余额承诺更新为SB+T。
[0070] 基于同态加密算法的性质,当余额承诺SA更新为SA-T时,由于余额承诺SA=Comm(rA,sA)、T=Comm(r,t),因此SA-T=Comm(rA-r,sA-t),而用户设备1知晓rA-r且能够从节点1维护的区块链账本中获知SA-T,因而可以确定sA-t;类似地,当余额承诺SB更新为SB+T时,由于余额承诺SB=Comm(rB,sB)、T=Comm(r,t),因此SB+T=Comm(rB+r,sB+t),而用户设备2知晓rB、用户设备2在步骤302获得了汇出方告知的交易随机数r且用户设备2能够从节点2维护的区块链账本中获知SB+T,因而可以确定sB+t。
[0071] 综上所述,通过采用同态加密机制,可以对区块链账户的账户余额进行加密、将加密后的余额承诺记载于区块链账本中,还可以在汇款交易过程中对汇款额加密、将加密后的汇款承诺用于实施汇款交易,可以在对账户余额、汇款额均保密的情况下,通过区块链网络顺利完成汇款交易,并且不影响区块链节点对交易条件的验证操作,使得区块链网络具备了隐私保护功能。
[0072] 图4是一示例性实施例提供的一种设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行,在逻辑层面上形成区块链交易装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0073] 请参考图5,在软件实施方式中,该区块链交易装置应用于汇出方设备,可以包括:
[0074] 确定单元501,确定将要从汇出方区块链账户汇入接收方区块链账户的交易额;其中,所述汇出方区块链账户在区块链中登记有汇出方余额承诺、所述接收方区块链账户在区块链中登记有接收方余额承诺,所述汇出方余额承诺由同态加密算法根据汇出方余额计算得到、所述接收方余额承诺由所述同态加密算法根据接收方余额计算得到;
[0075] 获取单元502,获取交易承诺,所述交易承诺由所述同态加密算法根据所述交易额计算得到;
[0076] 提交单元503,向区块链提交交易,所述交易中包含所述汇出方区块链账户的信息、所述接收方区块链账户的信息和所述交易承诺,使得所述汇出方余额承诺在交易完成后扣除所述交易承诺、所述接收方余额承诺在交易完成后增加所述交易承诺。
[0077] 可选的,所述接收方余额承诺由所述同态加密算法根据所述接收方余额和接收方随机数计算得到、所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;所述装置还包括:
[0078] 第一发送单元504,将所述交易随机数通过链外通道发送至所述接收方设备,以由所述接收方设备根据更新后接收方余额承诺、更新后接收方随机数确定更新后接收方余额;
[0079] 其中,所述更新后接收方余额承诺由所述接收方余额承诺增加所述交易承诺得到、所述更新后接收方随机数由所述接收方随机数增加所述交易随机数得到、所述更新后接收方余额为所述接收方余额与所述交易额之和。
[0080] 可选的,还包括:
[0081] 第二发送单元505,在提交所述交易之前,将所述交易承诺通过链外通道发送至所述接收方设备,以由所述接收方设备验证所述交易承诺、所述交易随机数和所述交易额之间的关联关系。
[0082] 可选的,还包括:
[0083] 签名获取单元506,获取所述接收方设备通过接收方私钥生成的与所述交易承诺相关的接收方签名,所述接收方签名由所述接收方设备在所述关联关系通过验证后生成;
[0084] 第一添加单元507,将所述接收方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。
[0085] 可选的,还包括:
[0086] 第一生成单元508,通过汇出方私钥生成与所述交易承诺相关的汇出方签名;
[0087] 第二添加单元509,将所述汇出方签名添加至所述交易中,以供所述区块链中的区块链节点进行签名验证。
[0088] 可选的,所述汇出方余额承诺由所述同态加密算法根据所述汇出方余额和汇出方随机数计算得到、所述交易承诺由所述同态加密算法根据所述交易额和交易随机数计算得到;
[0089] 其中,所述汇出方余额在交易完成后扣除所述交易额、所述汇出方随机数在交易完成后扣除所述交易随机数。
[0090] 可选的,还包括:
[0091] 第二生成单元510,根据所述汇出方随机数、所述汇出方余额、所述汇出方余额承诺、所述交易随机数、所述交易额和所述交易承诺生成区间证明;
[0092] 第三添加单元511,将所述区间证明添加至所述交易中,以供所述区块链中的区块链节点验证所述交易额是否满足:所述交易额不小于0且所述交易额不大于所述汇出方余额。
[0093] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0094] 在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0095] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0096] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0097] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0098] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0099] 在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0100] 应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0101] 以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈