CN109285073B - 数字货币交易方法及装置 - Google Patents

数字货币交易方法及装置 Download PDF

Info

Publication number
CN109285073B
CN109285073B CN201811153060.1A CN201811153060A CN109285073B CN 109285073 B CN109285073 B CN 109285073B CN 201811153060 A CN201811153060 A CN 201811153060A CN 109285073 B CN109285073 B CN 109285073B
Authority
CN
China
Prior art keywords
transaction
public key
random number
receiver
user
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
Application number
CN201811153060.1A
Other languages
English (en)
Other versions
CN109285073A (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.)
Shuzi Qianbao Beijing Technology Co ltd
Original Assignee
Shuzi Qianbao Beijing Technology Co ltd
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 Shuzi Qianbao Beijing Technology Co ltd filed Critical Shuzi Qianbao Beijing Technology Co ltd
Priority to CN201811153060.1A priority Critical patent/CN109285073B/zh
Publication of CN109285073A publication Critical patent/CN109285073A/zh
Application granted granted Critical
Publication of CN109285073B publication Critical patent/CN109285073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种数字货币交易方法及装置,该方法包括:获取接收方的用户公钥(A,B);产生第一随机数r,并计算第二随机数R=r*G以及一次性公钥P=H(r*A)*B,其中,G为椭圆曲线E(Fq)上的基点,r的取值为1至n‑1,n为G的阶,*为点乘运算,H(r*A)为对r与A的点乘进行哈希运算;根据一次性公钥P,计算目的钱包地址Addr=H(P);将目的钱包地址Addr、第二随机数R以及一次性公钥P打包进交易中,并对交易进行数字签名;将签名后的交易发送至区块链节点并将R发送给接收方。本发明提供的数字货币交易方法,将用户公钥与交易标识解耦,网络中的其他用户无法通过该笔交易获知其中的发送方以及接收方,有效保护了用户的隐私。

Description

数字货币交易方法及装置
技术领域
本发明涉及数字货币交易领域,具体而言,涉及一种数字货币交易方法及装置。
背景技术
比特币作为目前为止最为成功的数字货币,是一种分布式的虚拟货币,整个网络由用户构成,没有中央银行,去中心化是比特币安全与自由的保证,可以在任意一台接入互联网的电脑上进行管理,与传统的金融手段相比,交易费用更为低廉,同时,没有繁琐的额度与手续限制。但是,在比特币的系统中,用户钱包地址用来作为交易的标识,而钱包地址由用户的公钥通过哈希运算来得到,一旦有用户获取了用户的公钥,就可以从区块链上读取该用户的所有交易信息,对用户隐私的保护不够完善。
发明内容
本发明的目的在于提供一种数字货币交易方法及装置,提升对用户隐私的保护。
本发明第一方面提供一种数字货币交易方法,应用于发送方,包括:
获取接收方的用户公钥(A,B);
产生第一随机数r,并计算第二随机数R=r*G以及一次性公钥P=H(r*A)*B,其中,G为椭圆曲线E(Fq)上的基点,r的取值为1至n-1,n为G的阶,*为点乘运算,A≠0,B≠0且R≠0,H(.)为哈希运算函数;
根据所述一次性公钥P,计算目的钱包地址Addr=H(P);
将所述目的钱包地址Addr、所述第二随机数R以及所述一次性公钥P打包进交易中,并对所述交易进行数字签名;
将签名后的交易发送至区块链节点并将R发送给接收方。
本发明第二方面提供一种数字货币交易方法,应用于接收方,包括:
扫描区块链,针对所述区块链中的交易,提取交易中的第二随机数R;
根据所述第二随机数R确定区块链中接收方为自己的交易。
可选地,在所述扫描区块链之前,所述方法还包括:
确定用户私钥(a,b)以及用户公钥(A,B),其中,A=a*G,B=b*G,a和b均为取值为1至n-1的随机数,G为椭圆曲线E(Fq)上的基点,n为G的阶,*为点乘运算,A≠0且B≠0;
公开所述用户公钥(A,B)。
可选地,所述根据所述第二随机数R确定区块链中接收方为自己的交易,具体为:
根据所述第二随机数R计算一次性公钥P′=H(a*R)*B,并根据所述一次性公钥P′计算目的钱包地址Addr′=H(P′),其中,H(.)为哈希运算函数;
判断所述Addr′与交易中的Addr是否一致,若一致,则确认所述交易的接收方为自己。
可选地,在所述根据所述第二随机数R确定区块链中接收方为自己的交易之后,所述方法还包括:
计算所述交易对应的一次性私钥s′=H(a*R)*b mod n,所述一次性私钥s′用于在将所述交易的输出作为另一笔交易的输入时进行数字签名,mod为取模运算。
本发明第三方面提供一种数字货币交易装置,应用于发送方,包括:
获取模块,用于获取接收方的用户公钥(A,B);
公钥确定模块,用于产生第一随机数r,并计算第二随机数R=r*G以及一次性公钥P=H(r*A)*B,其中,G为椭圆曲线E(Fq)上的基点,r的取值为1至n-1,n为G的阶,*为点乘运算,A≠0,B≠0且R≠0,H(.)为哈希运算函数;
地址确定模块,用于根据所述一次性公钥P,计算目的钱包地址Addr=H(P);
第一交易确定模块,用于将所述目的钱包地址Addr、所述第二随机数R以及所述一次性公钥P打包进交易中,并对所述交易进行数字签名;
发送模块,用于将签名后的交易发送至区块链节点并将R发送给接收方。
本发明第四方面提供一种数字货币交易装置,应用于接收方,包括:
提取模块,用于扫描区块链,针对所述区块链中的交易,提取交易中的第二随机数R;
第二交易确定模块,用于根据所述第二随机数R确定区块链中接收方为自己的交易。
可选地,所述装置还包括:
密钥确定模块,用于确定用户私钥(a,b)以及用户公钥(A,B),其中,A=a*G,B=b*G,a和b均为取值为1至n-1的随机数,G为椭圆曲线E(Fq)上的基点,n为G的阶,*为点乘运算,A≠0且B≠0;
公钥公开模块,用于公开所述用户公钥(A,B)。
可选地,所述第二交易确定模块包括:
地址计算模块,用于根据所述第二随机数R计算一次性公钥P′=H(a*R)*B,并根据所述一次性公钥P′计算目的钱包地址Addr′=H(P′),其中,H(.)为哈希运算函数;
交易判断模块,用于判断所述Addr′与交易中的Addr是否一致,若一致,则确认所述交易的接收方为自己。
可选地,所述装置还包括:
私钥确定模块,用于计算所述交易对应的一次性私钥s′=H(a*R)*b mod n,所述一次性私钥s′用于在将所述交易的输出作为另一笔交易的输入时进行数字签名,mod为取模运算。
本发明第五方面提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面或第二方面所述的方法。
相对现有技术,本发明提供的数字货币交易方法及装置在交易过程中通过接收方的用户公钥以及发送方产生的随机数计算一次性公钥,将用户公钥与交易标识解耦,只有接收方通过自身的用户私钥才能获知这笔交易的接收者,用户隐私性的保护得到了极大提升。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举可选实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明所提供的数字货币交易方法的流程图;
图2示出了本发明所提供的数字货币交易方法的另一流程图;
图3示出了本发明所提供的数字货币交易方法的另一流程图;
图4示出了本发明所提供的数字货币交易装置的示意图;
图5示出了本发明所提供的数字货币交易装置的另一示意图。
图标:
公钥确定模块-101;地址确定模块-102;第一交易确定模块-103;发送模块-104;提取模块-201;第二交易确定模块-202。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
第一实施例
比特币作为目前为止最为成功的数字货币,是一种分布式的虚拟货币。比特币会将所有的交易广播到网络上,也就是说,所有的人都可以看到网络上所有的交易,而比特币并未对交易的发送者和接收者的地址做任何保护处理,在交易中包含有发送者的公钥信息,任何人都可以获取到这个信息,从而可以直接确定交易的发送者,可以看出,比特币对用户隐私的保护不够完善。
本实施例提供了一种数字货币交易方法,能够有效提升对用户隐私的保护,在数字货币交易过程中包括有发送方以及接收方,请参阅图1,示出了该方法在发送方的流程图,包括:
S10:获取接收方的用户公钥(A,B)。
接收方的用户公钥是两个不同的标准椭圆曲线公钥,相比比特币而言,整个公钥的长度是比特币中用户公钥的两倍。
S11:确定随机数R以及一次性公钥P。
在交易之前,进行系统初始化,确定椭圆曲线E(Fq)上的基点G以及n,其中,n为G的阶,椭圆曲线E(Fq)中Fq表示q个元素的有限域,E(Fq)表示定义在Fq上的一个椭圆曲线E。
在进行交易的过程中,发送方会产生一个随机数r,并计算另外一个随机数R,以及计算本次交易的一次性公钥P,其中,计算R的公式为R=r*G,计算P的公式为P=H(r*A)*B,r的取值为1至n-1,*为点乘运算,A≠0,B≠0且R≠0,H(r*A)为对r与A的点乘进行哈希运算。
S12:计算目的钱包地址Addr。
在确定一次性公钥P后,可以通过对一次性公钥P进行哈希运算获得目的钱包地址Addr,计算公式为Addr=H(P),H(P)为对一次性公钥P进行哈希运算。
S13:将目的钱包地址Addr、随机数R以及一次性公钥P打包进交易中,并对交易进行数字签名。
S14:将签名后的交易发送至区块链节点并将R发送给接收方。
需要说明的是,本实施例所称的数字货币,没有余额的概念,与比特币相同,其使用的是未使用过的交易输出(Unspent Transaction Outputs,UTXO)模型,在交易过程中所指的钱包余额实际是钱包地址的UTXO集合,所以,在数字货币网络中,存储余额的是交易输出,换言之就是未使用过的交易输出,而每一笔交易的输入实际上引用的是上一笔交易的输出。在整个交易中包含有输入、交易数目以及输出,在发送方向接收方交易货币时,将发送方未使用的交易输出作为这笔交易的输入,输出则是接收方的钱包地址。
在将签名后的交易发送至区块链的节点后,区块链节点会验证这笔交易的有效性,在验证通过后将该笔交易打包进区块,写入区块链中。
上述方案中,发送方在交易过程中通过随机产生的随机数以及接收方的用户公钥计算该笔交易对应的一次性公钥P,将随机数R以及该一次性公钥P打包进交易中,从而将用户公钥与交易标识解耦,网络中的其他用户无法通过该笔交易中信息获知其中的发送方以及接收方,有效保护了用户的隐私。
在该笔交易写入区块链后,从接收方而言,交易的过程可以参阅图2,图2示出了该方法在接收方的流程图,包括以下步骤:
S15:扫描区块链,针对区块链中的交易,提取交易中的随机数R。
S16:根据随机数R确定区块链中接收方为自己的交易。
在交易开始之前,接收方确定自己的用户私钥(a,b)以及用户公钥(A,B),用户私钥以及用户公钥均为两个不同的标准椭圆私钥以及两个不同的标准椭圆公钥,接收方公开自己的用户公钥(A,B),其中,A=a*G,B=b*G,a和b均为取值为1至n-1的随机数。在交易开始后,发送方会根据接收方公开的用户公钥执行上述步骤S10-步骤S14,确定一笔交易将其写入至区块链中,R作为交易的标签;接收方扫描区块中的交易,根据发送方发来的R对交易进行过滤,提取交易中的随机数R,通过计算钱包地址,判断与交易中的钱包地址是否一致,如果一致,则确认这一笔交易的接收方为自己,则接收方可以使用这一笔交易的输出作为另外一笔交易的输入。
具体地,步骤S16的一种实施方式可以参阅图3,包括:
S161:根据随机数R计算一次性公钥P′以及计算目的钱包地址Addr′。
接收方针对交易中提取的随机数R计算一次性公钥P′,计算的公式为P′=H(a*R)*B,并在计算一次性公钥P′后,对一次性公钥P′进行哈希运算以获得目的钱包地址Addr′,计算的公式为Addr′=H(P′)。
S162:判断Addr′与交易中的Addr是否一致,若一致,则确认该笔交易的接收方为自己。
上述方案中,由步骤S161中公式,接收方通过自身的私钥a和公钥B计算一次性公钥P′,由于a*R=a*r*G=r*A,若P′=P,则说明这笔交易是发送给自己的,但由于其中使用了用户私钥a,也就是说,只有这笔交易的接收方能计算出一次性公钥P′,进而获知这笔交易的钱包地址,因此除非接收方将自己的私钥信息泄露给他人,否则其他任何人都无法知道这笔交易是发给谁的,有效保证了用户的隐私。
并且,每次发送方要发起一笔交易时,随机确定随机数R,并利用随机数R以及接收者的公钥信息计算出一次性公钥P,该一次性公钥P是一次性的,每次交易都会重新随机产生,且每一笔交易的一次性公钥P都不相同,因此在保护交易的隐私性的同时,也大大提高了交易的安全性。
在步骤S162中,接收方将计算出的钱包地址与交易中的钱包地址对比,判断该笔交易是否是发送给自己的,在确定该笔交易是发送给自己的之后,接收方可以使用这笔交易的输出作为另外一笔交易的输入,在这之前,接收方需要计算该笔交易对应的一次性私钥s′,计算的公式为s′=H(a*R)*b mod n,其中,mod为取模运算,在计算出该笔交易对应的一次性私钥s′后,可以在使用这笔交易作为下一笔交易的输入时用上述一次性私钥s′进行数字签名,可以理解,在步骤S13中,发送方在对交易进行数字签名时,使用该交易的输入所对应的一次性私钥s′来对这笔交易进行签名。
可选地,从上述步骤S161计算一次性公钥P′的公式中可以看到,在接收方对区块链中的交易计算其一次性公钥P′时,仅使用了用户私钥中的a以及用户公钥中的B,也就是说,仅使用了用户私钥的一半,而在最终计算该笔交易对应的一次性私钥s′时,则是使用到了完整的用户私钥a和b。基于此,由于接收方需要扫描区块链上的交易,计算交易的一次性公钥P′以及目的钱包地址Addr′,与交易中的信息进行对比才能找到发给自己的交易,一种可选的实施方式为,将用户私钥a以及用户公钥B授权给第三方,使第三方通过a和B来计算一次性公钥P′,从而确定发给接收方的交易,能够有效减轻接收方的计算压力,且由于在计算一次性私钥s′时,第三方仅知道私钥中的a,而不知道私钥中的b,无法计算出相应的一次性私钥s′,从而也就不能使用该笔交易进行花费,也就是说,该笔交易仍只有接收方才能花费。
第二实施例
本实施例提供一种数字货币交易装置,应用于发送方,参阅图4,包括:
公钥确定模块101,用于产生第一随机数r,并计算第二随机数R=r*G以及一次性公钥P=H(r*A)*B,其中,G为椭圆曲线E(Fq)上的基点,r的取值为1至n-1,n为G的阶,*为点乘运算,A≠0,B≠0且R≠0,H(r*A)为对r与A的点乘进行哈希运算;
地址确定模块102,用于根据所述一次性公钥P,计算目的钱包地址Addr=H(P);
第一交易确定模块103,用于将所述目的钱包地址Addr、所述第二随机数R以及所述一次性公钥P打包进交易中,并对所述交易进行数字签名;
发送模块104,用于将签名后的交易发送至区块链节点并将R发送给接收方。
本实施例还提供一种数字货币交易装置,应用于接收方,参阅图5,包括:
提取模块201,用于扫描区块链,针对所述区块链中的交易,提取交易中的第二随机数R;
第二交易确定模块202,用于根据所述第二随机数R确定区块链中接收方为自己的交易。
可选地,所述装置还包括:
密钥确定模块,用于确定用户私钥(a,b)以及用户公钥(A,B),其中,A=a*G,B=b*G,a和b均为取值为1至n-1的随机数,G为椭圆曲线E(Fq)上的基点,n为G的阶,*为点乘运算,A≠0且B≠0;公钥公开模块,用于公开所述用户公钥(A,B)。
可选地,所述第二交易确定模块包括:地址计算模块,用于根据所述第二随机数R计算一次性公钥P′=H(a*R)*B,并根据所述一次性公钥P′计算目的钱包地址Addr′=H(P′),其中,H(a*R)为对a与R的点乘进行哈希运算;交易判断模块,用于判断所述Addr′与交易中的Addr是否一致,若一致,则确认所述交易的接收方为自己。
可选地,私钥确定模块,用于计算所述交易对应的一次性私钥s′=H(a*R)*b modn,所述一次性私钥s′用于在将所述交易的输出作为另一笔交易的输入时进行数字签名,mod为取模运算。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本实施例还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例中所述的方法。
本实施例还提供一种电子设备,包括:处理器、存储器和总线,该存储器存储有处理器可执行的机器可读指令,当该电子设备运行时,处理器与存储器之间通过总线通信,所述机器可读指令被处理器执行时执行第一实施例所述的方法。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种数字货币交易方法,其特征在于,应用于接收方,包括:
扫描区块链,针对所述区块链中的交易,提取交易中的第二随机数R;
根据所述第二随机数R确定区块链中接收方为自己的交易;
在所述扫描区块链之前,所述方法还包括:确定用户私钥(a,b)以及用户公钥(A,B),其中,A=a*G,B=b*G,a和b均为取值为1至n-1的随机数,G为椭圆曲线E(Fq)上的基点,n为G的阶,*为点乘运算,A≠0且B≠0;公开所述用户公钥(A,B);
所述根据所述第二随机数R确定区块链中接收方为自己的交易,具体为:根据所述第二随机数R计算一次性公钥P′=H(a*R)*B,并根据所述一次性公钥P′计算目的钱包地址Addr′=H(P′),其中,H(.)为哈希运算函数;判断所述Addr′与交易中的Addr是否一致,若一致,则确认所述交易的接收方为自己;
所述根据所述第二随机数R计算一次性公钥P′=H(a*R)*B,并根据所述一次性公钥P′计算目的钱包地址Addr′=H(P′),包括:
将所述第二随机数R发给第三方,由所述第三方根据所述接收方授权的用户私钥(a,b)中的私钥a、用户公钥(A,B)中的公钥B以及所述第二随机数R计算一次性公钥P′以及目的钱包地址Addr′;
其中,所述交易是发送方获取接收方的用户公钥(A,B)后,产生第一随机数r,计算第二随机数R=r*G以及一次性公钥P=H(r*A)*B,根据所述一次性公钥P,计算目的钱包地址Addr=H(P),并根据所述目的钱包地址所生成并发送至区块链上的。
2.根据权利要求1所述的数字货币交易方法,其特征在于,在所述根据所述第二随机数R确定区块链中接收方为自己的交易之后,所述方法还包括:
计算所述交易对应的一次性私钥s′=H(a*R)*b mod n,所述一次性私钥s′用于在将所述交易的输出作为另一笔交易的输入时进行数字签名,mod为取模运算。
3.一种数字货币交易装置,其特征在于,应用于接收方,包括:
提取模块,用于扫描区块链,针对所述区块链中的交易,提取交易中的第二随机数R;
第二交易确定模块,用于根据所述第二随机数R确定区块链中接收方为自己的交易;
所述装置还包括:密钥确定模块,用于确定用户私钥(a,b)以及用户公钥(A,B),其中,A=a*G,B=b*G,a和b均为取值为1至n-1的随机数,G为椭圆曲线E(Fq)上的基点,n为G的阶,*为点乘运算,A≠0且B≠0;公钥公开模块,用于公开所述用户公钥(A,B);
所述第二交易确定模块包括:地址计算模块,用于根据所述第二随机数R计算一次性公钥P′=H(a*R)*B,并根据所述一次性公钥P′计算目的钱包地址Addr′=H(P′),其中,H(.)为哈希运算函数;交易判断模块,用于判断所述Addr′与交易中的Addr是否一致,若一致,则确认所述交易的接收方为自己;
所述地址计算模块具体用于:将所述第二随机数R发给第三方,由所述第三方根据所述接收方授权的用户私钥(a,b)中的私钥a、用户公钥(A,B)中的公钥B以及所述第二随机数R计算一次性公钥P′以及目的钱包地址Addr′;
其中,所述交易是发送方获取接收方的用户公钥(A,B)后,产生第一随机数r,计算第二随机数R=r*G以及一次性公钥P=H(r*A)*B,根据所述一次性公钥P,计算目的钱包地址Addr=H(P),并根据所述目的钱包地址所生成并发送至区块链上的。
4.根据权利要求3所述的数字货币交易装置,其特征在于,所述装置还包括:
私钥确定模块,用于计算所述交易对应的一次性私钥s′=H(a*R)*b mod n,所述一次性私钥s′用于在将所述交易的输出作为另一笔交易的输入时进行数字签名,mod为取模运算。
CN201811153060.1A 2018-09-29 2018-09-29 数字货币交易方法及装置 Active CN109285073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811153060.1A CN109285073B (zh) 2018-09-29 2018-09-29 数字货币交易方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811153060.1A CN109285073B (zh) 2018-09-29 2018-09-29 数字货币交易方法及装置

Publications (2)

Publication Number Publication Date
CN109285073A CN109285073A (zh) 2019-01-29
CN109285073B true CN109285073B (zh) 2022-03-04

Family

ID=65181967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811153060.1A Active CN109285073B (zh) 2018-09-29 2018-09-29 数字货币交易方法及装置

Country Status (1)

Country Link
CN (1) CN109285073B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034801A (zh) * 2018-07-31 2018-12-18 杭州复杂美科技有限公司 一种隐私交易方法及系统、设备和可存储介质
CN110414961A (zh) * 2019-06-21 2019-11-05 深圳壹账通智能科技有限公司 防止追踪交易转出方的转账方法、装置、设备及存储介质
CN111325535A (zh) * 2020-02-19 2020-06-23 福州博泉网络科技有限公司 基于椭圆曲线偏移的区块链私钥管理方法、系统及存储介质
CN111709742B (zh) * 2020-05-18 2023-08-01 杜晓楠 区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统
CN114531224B (zh) * 2020-10-31 2024-03-01 华为技术有限公司 地址的生成方法、区块链信息的处理方法以及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11062303B2 (en) * 2015-06-08 2021-07-13 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
CN106850200B (zh) * 2017-01-25 2019-10-22 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种使用基于区块链的数字货币的安全方法、系统及终端
CN107038578B (zh) * 2017-04-19 2020-10-16 浙江数秦科技有限公司 基于区块链的数据交易平台中多重签名交易信息处理方法
CN107358424B (zh) * 2017-06-26 2020-09-29 中国人民银行数字货币研究所 一种基于数字货币的交易方法和装置
CN107784580B (zh) * 2017-09-15 2020-10-27 数据通信科学技术研究所 一种基于公私钥对派生的无中心数字货币交易方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种区块链隐私增强技术系列--隐私地址I;无;《URL:https://zhuanlan.zhihu.com/p/37081667》;20180520;第1-2页 *

Also Published As

Publication number Publication date
CN109285073A (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
CN109285073B (zh) 数字货币交易方法及装置
Feng et al. Private key generation from on‐line handwritten signatures
CN109246129B (zh) 一种可验证客户端身份的sm2协同签名方法及系统
CA2462266C (en) System, portable device and method for digital authenticating, crypting and signing by generating short-lived cryptokeys
CN109040082B (zh) 用户的身份内容信息的认证、验证方法和装置
US6079018A (en) System and method for generating unique secure values for digitally signing documents
US8898086B2 (en) Systems and methods for transmitting financial account information
EP3955146A1 (en) Identity management service using a block chain
JP4444998B2 (ja) 電子メール情報管理プログラム、電子メール情報管理装置、および電子メール情報管理方法
US20160260091A1 (en) Universal wallet for digital currency
CN110363509B (zh) 一种信息保护方法及装置
JP2019511855A (ja) 秘密共有のための楕円曲線暗号化を利用したパーソナルデバイスセキュリティ
US20190080300A1 (en) Cash-equivalent device for digital currencies
CN111480172B (zh) 将加密密钥安全地注册在用于加密密钥的物理介质上的方法和系统,以及所生产的物理介质
CN114329527A (zh) 交集数据获取方法、设备和系统
JP2005522775A (ja) 情報保存システム
CN106850190A (zh) 一种对基于区块链数字凭证的销毁方法
JP2021507586A (ja) ブロックチェーン上でトランザクションに署名するためのデジタル鍵を格納するためのデバイス
CN109327444B (zh) 一种账户信息的注册和认证方法及装置
JP2017532707A (ja) アウト・オブ・バンド・データから導出されるデジタルフィンガープリント信号に基づくユーザ検証
CN111161056A (zh) 一种提高数字资产交易安全性的方法、系统及设备
JP2020524864A (ja) データへのアクセスの制御
Mesran et al. Enhanced security for data transaction with public key Schnorr authentication and digital signature protocol
CN111984959B (zh) 一种匿名信息发布及验证方法、装置
CN111711521A (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
CB03 Change of inventor or designer information

Inventor after: Zhang Yu

Inventor after: Zhou Haijing

Inventor after: Zhang Zhe

Inventor after: Li Jie

Inventor before: Zhou Haijing

Inventor before: Zhang Zhe

Inventor before: Li Jie

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant