一种交易费代扣的隐私交易方法、设备及储存介质

文档序号:1964644 发布日期:2021-12-14 浏览:28次 >En<

阅读说明:本技术 一种交易费代扣的隐私交易方法、设备及储存介质 (Private transaction method, equipment and storage medium for transaction fee withholding ) 是由 马登极 王志文 吴思进 于 2021-08-02 设计创作,主要内容包括:本发明属于计算机技术领域,尤其涉及一种交易费代扣的隐私交易方法、设备及储存介质,基于混淆因子等方法将交易金额彻底隐藏,只有知道该金额对应私钥的人才知道金额的真实数值,可以令区块链上的任何一个节点在不知道交易的具体金额的情况下验证交易。同时,基于特殊的代扣地址代扣交易费,特殊地址的签名需要验证签名,验证过程为验证交易的正确性。(The invention belongs to the technical field of computers, and particularly relates to a private transaction method, equipment and a storage medium for transaction fee deduction. Meanwhile, the transaction fee is deducted based on the special deduction address, the signature of the special address needs to be verified, and the verification process is to verify the correctness of the transaction.)

一种交易费代扣的隐私交易方法、设备及储存介质

技术领域

本发明属于计算机技术领域,尤其涉及一种交易费代扣的隐私交易方法、设备及储存介质。

背景技术

区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成。传统的基于UTXO(Unspent TransactionOutput)的区块链,使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,除了交易各方的私有信息被加密外,任何人都可以通过公开的接口查询每笔交易或某个地址的余额,所有交易数据都是公开透明的,对于一些商业机构而言,其地址很容易在一段时间后被人所知晓,那么其财富情况就会被公之于众,而财富情况对于很多商业机构而言属于商业秘密,现有的隐私方案一般都不能隐藏用户的转账金额,只是转账金额混淆在众多转账金额之中,外界无法确定哪一个是真实的金额。

发明内容

为解决上述技术问题,本发明提供了一种交易费代扣的隐私交易方法、设备及储存介质,能够屏蔽真实的转账金额。

为实现上述目的,本发明采用以下技术方案:

第一方面,提供一种交易费代扣的隐私交易方法,包括如下步骤:

s100、交易发起方选择椭圆曲线,选取椭圆曲线上的一个生成点作为通用生成点(H),并选取椭圆曲线上的另一生成点作为固定生成点(G),交易发起方为每个参与交易的未花费交易输出生成一个对应的交易私钥,同时交易发起方为找零输出生成对应的交易私钥,交易接收方为转账存入输出生成对应的交易私钥,以转账存入输出的交易私钥作为接收方混淆因子,所述交易私钥均为随机选取的随机值;

s200、交易发起方和交易接收方基于自身生成的交易私钥和所述通用生成点做椭圆曲线乘法生成各个交易私钥对应的交易公钥;

s300、交易发起方基于未花费交易输出和找零输出以及各自对应的交易私钥、固定生成点、通用生成点生成未花费交易输出和找零输出对应的混淆值,交易接收方基于接收金额及其对应的交易私钥、固定生成点、通用生成点生成接收金额对应的混淆值,在所述承诺中各个交易输出以其对应的交易私钥作为混淆因子;同时,区块链系统通过预先设定的交易费代扣合约生成交易费,交易发起方基于交易费、交易费混淆因子、固定生成点、通用生成点生成交易费对应的混淆值,其中,所述交易费对应的地址为交易费代扣合约生成的合约代扣地址,所述交易费混淆因子取0;

各个交易输出对应的混淆值满足如下公式:

C=v*G+r*H

其中,C为混淆值,v为交易的实际金额,r为混淆因子,G为固定生成点, H为通用生成点,公式适用椭圆曲线的乘法和加减法规则;

同时,未花费交易输出、转账存入输出、找零输出的混淆因子满足如下关系:

rs=rr+rc

其中,rs为所有未花费交易输出的混淆因子的总和,rr为转账存入输出的混淆因子、rc为找零输出的混淆因子;

s400、交易发起方基于所有参与交易的未花费交易输出的混淆值生成交易输入混淆值,基于转账存入输出的混淆值、找零输出的混淆值和交易费混淆值生成交易输出混淆值,将交易输入混淆值、交易输出混淆值写入交易信息;

s500、交易代扣合约基于合约代扣地址生成交易签名,并将所述交易信息和交易提交到区块链系统,区块链系统验证所述代扣签名,验证通过将交易费转入所述交易费代扣合约的代扣地址中,并将验证通过的交易存储在所述区块链系统中。

作为优选,所述交易费代扣合约的代扣地址基于所述椭圆曲线上一个点构建,并生成对应的公钥。

作为优选,所述代扣签名的验证方法为所述代扣合约基于所述交易信息预先验证交易的正确性。

第二方面,提供一种计算机设备,包括一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述第一方面任一项所述的方法。

第三方面,提供一种存储有计算机程序的存储介质,该程序被处理器执行时实现如上述第一方面中任一项所述的方法。

本发明的有益效果在于能够完美隐藏交易的金额,只有知道该金额对应私钥的人才知道金额的真实数值,同时可以令区块链上的任何一个节点在不知道交易的具体金额的情况下验证交易,同时,基于特殊的代扣地址代扣交易费,特殊地址的签名需要验证签名,验证过程为验证交易的正确性。

附图说明

图1为本发明实施例3的一种计算机设备的结构示意图。

具体实施方式

以下结合具体实施例和说明书附图对本发明作出进一步清楚详细的描述说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。此外,下述说明中涉及到的本发明的实施例通常仅是本发明一部分的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

在本发明中,除非另有明确的规定和限定,“验证”、“生成”、“发送”、“加密”等术语应做广义理解,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

实施例1

本实施例提供一种交易费代扣的隐私交易方法,包括以下内容:s100、交易发起方选择椭圆曲线,选取椭圆曲线上的一个生成点作为通用生成点(H),并选取椭圆曲线上的另一生成点作为固定生成点(G),交易发起方为每个参与交易的未花费交易输出生成一个对应的交易私钥,同时交易发起方为找零输出生成对应的交易私钥,交易接收方为转账存入输出生成对应的交易私钥,以转账存入输出的交易私钥作为接收方混淆因子,所述交易私钥均为随机选取的随机值;

s200、交易发起方和交易接收方基于自身生成的交易私钥和所述通用生成点做椭圆曲线乘法生成各个交易私钥对应的交易公钥;

s300、交易发起方基于未花费交易输出和找零输出以及各自对应的交易私钥、固定生成点、通用生成点生成未花费交易输出和找零输出对应的混淆值,交易接收方基于接收金额及其对应的交易私钥、固定生成点、通用生成点生成接收金额对应的混淆值,在所述承诺中各个交易输出以其对应的交易私钥作为混淆因子;同时,区块链系统通过预先设定的交易费代扣合约生成交易费,交易发起方基于交易费、交易费混淆因子、固定生成点、通用生成点生成交易费对应的混淆值,其中,所述交易费对应的地址为交易费代扣合约生成的合约代扣地址,所述交易费混淆因子取0;

各个交易输出对应的混淆值满足如下公式:

C=v*G+r*H

其中,C为混淆值,v为交易的实际金额,r为混淆因子,G为固定生成点, H为通用生成点,公式适用椭圆曲线的乘法和加减法规则;

同时,未花费交易输出、转账存入输出、找零输出的混淆因子满足如下关系:

rs=rr+rc

其中,rs为所有未花费交易输出的混淆因子的总和,rr为转账存入输出的混淆因子、rc为找零输出的混淆因子;

s400、交易发起方基于所有参与交易的未花费交易输出的混淆值生成交易输入混淆值,基于转账存入输出的混淆值、找零输出的混淆值和交易费混淆值生成交易输出混淆值,将交易输入混淆值、交易输出混淆值写入交易信息;

s500、交易代扣合约基于合约代扣地址生成交易签名,并将所述交易信息和交易提交到区块链系统,区块链系统验证所述代扣签名,验证通过将交易费转入所述交易费代扣合约的代扣地址中,并将验证通过的交易存储在所述区块链系统中。

进一步的,所述交易费代扣合约的代扣地址基于所述椭圆曲线上一个点构建,并生成对应的公钥。

进一步的,所述代扣签名的验证方法为所述代扣合约基于所述交易信息预先验证交易的正确性。

上述交易的验证基于零和规则,即如果输入等于输出,那么就证明这个交易即没有产出非法的通证,也没有消耗掉已有的通证,因此只要验证交易输入混淆值和交易输出混淆值相等即可证明交易的合法性,而且交易公开的信息均为混淆后的混淆值,无法倒推出任何关于交易双方的信息,具有良好的保护性,而且验证过程也无需知道任何交易的实际金额或是其对应的私钥。交易费代扣合约同样依据上述方法预先对交易进行验证,确认交易金额的正确性和交易信息的正确性,然后为交易生成签名并将交易费转入代扣地址,而从交易转账记录看,交易的签名者是特殊的合约代扣地址,交易的花费和产出地址以及金额都是隐藏的,不会泄露用户隐私,基于特殊代扣地址的交易费最好是固定的并且是非零的,不固定的话用户和系统产生的实时交易费容易有出入导致用户体验不好,此种交易费代扣方法结合隐私交易方法,可以很好的保护转账用户地址,同时也扣除了交易费,兼容了区块链系统的交易费要求。

实施例2

一种计算机设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如实施例1所述的方法。

一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上实施例1所述的方法。

图1为本实施例提供的一种设备的结构示意图。

如图1所示,作为另一方面,本申请还提供了一种计算机设备500,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口 505也连接至总线504。

以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本申请公开的实施例,上述实施例1所描述的方法可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一实施例描述的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。

作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的方法。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种平行链同步交易的验证方法、设备及储存介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!