CN111815322A - 一种基于以太坊的具备可选隐私服务的分布式支付方法 - Google Patents

一种基于以太坊的具备可选隐私服务的分布式支付方法 Download PDF

Info

Publication number
CN111815322A
CN111815322A CN202010515147.XA CN202010515147A CN111815322A CN 111815322 A CN111815322 A CN 111815322A CN 202010515147 A CN202010515147 A CN 202010515147A CN 111815322 A CN111815322 A CN 111815322A
Authority
CN
China
Prior art keywords
commitment
balance
transaction
private account
account
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.)
Granted
Application number
CN202010515147.XA
Other languages
English (en)
Other versions
CN111815322B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010515147.XA priority Critical patent/CN111815322B/zh
Publication of CN111815322A publication Critical patent/CN111815322A/zh
Application granted granted Critical
Publication of CN111815322B publication Critical patent/CN111815322B/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例提供的一种基于以太坊的具备可选隐私服务的分布式支付方法,可以通过交易金额生成交易金额承诺;获取付款方私密账户当前的余额承诺;计算得到交易后的余额承诺;获取收款方私密账户当前的余额承诺;对交易金额进行加密,得到交易数据密文;计算得到收款方私密账户交易后的余额承诺;通过打包交易信息;通过CEs对交易信息进行签名,并发送给记账节点;通过收款方私密账户根据交易信息,更新收款方私密账户余额及余额承诺。从而实现通过随机数生成交易数据即对应的交易金额承诺和余额承诺,将交易金额承诺和余额承诺用于区块链的信息记录,而对交易金额通过加密后发送至收款方以避免交易数据的泄露,实现保护用户隐私的目的。

Description

一种基于以太坊的具备可选隐私服务的分布式支付方法
技术领域
本申请涉及信息技术领域,特别是涉及一种基于以太坊的具备可选隐私服务的分布式支付方法。
背景技术
近些年来,区块链技术作为加密数字货币的底层核心技术,逐渐被认可并应用到实际工作当中。其中,以太坊作为一个开源的具有较为完备的智能合约功能的公共区块链平台,可以通过其专用加密货币以太币基于去中心化的以太虚拟机来处理点对点合约。
然而,在通过以太坊进行交易时,交易金额和账户余额需在全网公开可见以便记账节点快速地验证每笔交易的合法性。但是,这些资产信息本质上属于用户的隐私数据,全网可见会导致用户的交易数据等一些重要信息的泄露。
发明内容
本申请实施例的目的在于提供一种基于以太坊的具备可选隐私服务的分布式支付方法,用以解决交易过程中交易数据泄露的问题。具体技术方案如下:
第一方面,本申请实施例提供了一种基于以太坊的具备可选隐私服务的分布式支付方法,包括:
通过付款方私密账户设置交易金额,其中,付款方私密账户为通过密文等值签名方案CEs创建的账户;
选取第一随机数生成交易金额对应的交易金额承诺,其中,第一随机数为任意随机数;
获取付款方私密账户当前的余额承诺,得到第一余额承诺,其中,付款方私密账户当前的余额承诺用于表征付款方私密账户当前的余额;
通过交易金额承诺,与第一余额承诺,计算得到付款方私密账户交易后的余额承诺,得到第二余额承诺;
获取收款方私密账户当前的余额承诺,得到第三余额承诺,其中,收款方私密账户为通过密文等值签名方案CEs创建的账户;
获取收款方私密账户的公钥,并根据公钥对交易金额和对应的第一随机数进行加密,得到交易数据密文;
通过交易金额承诺,与第三余额承诺,计算得到收款方私密账户交易后的余额承诺,得到第四余额承诺;
将交易金额承诺、第二余额承诺、第四余额承诺、付款方私密账户、收款方私密账户、交易数据密文打包成一个交易信息;
通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上;
通过收款方私密账户根据区块链上的交易信息,更新收款方私密账户余额及余额承诺。
可选的,交易信息中还包括根据交易金额承诺和第二余额承诺生成的本次交易的范围证明,通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上,包括:
通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点;
通过记账节点根据CEs对签名进行验证;
当CEs判定签名为合法签名时,通过bulletproof方案对范围证明进行验证;
当范围证明符合预设规则时,判断是否满足第一余额承诺减去交易金额承诺等于第二余额承诺,且第三余额承诺与交易金额承诺之和等于第四余额承诺;
当满足时,将交易信息发送到区块链上。
可选的,通过付款方私密账户设置交易金额之前,上述方法还包括:
获取付款方的私密账户的创建请求;
通过CEs生成一组密钥对,其中,密钥对包括付款方的公钥和付款方的私钥,私钥用于对公钥加密的内容进行解密;
根据付款方的公钥生成私密账户的账户地址;
设置私密账户的初始余额为0,选取一组随机数作为初始随机数,并根据初始随机数生成对应的初始余额承诺;
通过零知识证明Schnorr方案生成私密账户的初始余额证明。
可选的,通过CEs生成一组密钥对,包括:
根据付款方的普通账户的私钥sk,通过
Figure BDA0002529794980000031
Figure BDA0002529794980000032
Figure BDA0002529794980000033
生成一组密钥对
Figure BDA0002529794980000034
其中,
Figure BDA0002529794980000035
为付款方的私密账户的私钥,函数Hash1和Hash2表示两种不同的抗碰撞散列函数,g表示椭圆曲线群上的任意一点,
Figure BDA0002529794980000036
Figure BDA0002529794980000037
为中间值。
可选的,通过收款方私密账户根据区块链上的交易信息,更新得到收款方私密账户余额及余额承诺,包括:
根据收款方私密账户的私钥对交易信息中的交易数据密文进行解密,得到交易金额和对应的第一随机数;
根据交易金额、第一随机数与交易信息中的第四余额承诺对收款方私密账户的余额、收款方私密账户的余额承诺与收款方私密账户当前的余额随机数进行更新。
第二方面,本申请实施例提供了一种基于以太坊的具备可选隐私服务的分布式支付装置,包括:
金额设置模块,用于通过付款方私密账户设置交易金额,其中,付款方私密账户为通过密文等值签名方案CEs创建的账户;
承诺生成模块,用于选取第一随机数生成交易金额对应的交易金额承诺,其中,第一随机数为任意随机数;
第一承诺获取模块,用于获取付款方私密账户当前的余额承诺,得到第一余额承诺,其中,付款方私密账户当前的余额承诺用于表征付款方私密账户当前的余额;
第二承诺计算模块,用于通过交易金额承诺,与第一余额承诺,计算得到付款方私密账户交易后的余额承诺,得到第二余额承诺;
第三承诺获取模块,用于获取收款方私密账户当前的余额承诺,得到第三余额承诺,其中,收款方私密账户为通过密文等值签名方案CEs创建的账户;
密文获取模块,用于获取收款方私密账户的公钥,并根据公钥对交易金额和对应的第一随机数进行加密,得到交易数据密文;
第四承诺计算模块,用于通过交易金额承诺,与第三余额承诺,计算得到收款方私密账户交易后的余额承诺,得到第四余额承诺;
交易打包模块,用于将交易金额承诺、第二余额承诺、第四余额承诺、付款方私密账户、收款方私密账户、交易数据密文打包成一个交易信息;
信息签名模块,用于通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上;
余额更新模块,用于通过收款方私密账户根据区块链上的交易信息,更新收款方私密账户余额及余额承诺。
可选的,交易信息中还包括根据交易金额承诺和第二余额承诺生成的本次交易的范围证明,信息签名模块,包括:
信息发送子模块,用于通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点;
签名验证子模块,用于通过记账节点根据CEs对签名进行验证;
范围验证子模块,用于当CEs判定签名为合法签名时,通过bulletproof方案对范围证明进行验证;
承诺判断子模块,用于当范围证明符合预设规则时,判断是否满足第一余额承诺减去交易金额承诺等于第二余额承诺,且第三余额承诺与交易金额承诺之和等于第四余额承诺;
区块链发送子模块,用于当满足时,将交易信息发送到区块链上。
可选的,上述装置还包括:
请求获取模块,用于获取付款方的私密账户的创建请求;
密钥对生成模块,用于通过CEs生成一组密钥对,其中,密钥对包括付款方的公钥和付款方的私钥,私钥用于对公钥加密的内容进行解密;
账户生成模块,用于根据付款方的公钥生成私密账户的账户地址;
余额设置模块,用于设置私密账户的初始余额为0,选取一组随机数作为初始随机数,并根据初始随机数生成对应的初始余额承诺;
证明生成模块,用于通过零知识证明Schnorr方案生成私密账户的初始余额证明。
可选的,密钥对生成模块,包括:
密钥对计算子模块,用于根据付款方的普通账户的私钥sk,通过
Figure BDA0002529794980000051
Figure BDA0002529794980000052
Figure BDA0002529794980000053
生成一组密钥对
Figure BDA0002529794980000054
其中,
Figure BDA0002529794980000055
为付款方的私密账户的私钥,函数Hash1和Hash2表示两种不同的抗碰撞散列函数,g表示椭圆曲线群上的任意一点,
Figure BDA0002529794980000056
Figure BDA0002529794980000057
为中间值。
可选的,余额更新模块,包括:
密文解密子模块,用于根据收款方私密账户的私钥对交易信息中的交易数据密文进行解密,得到交易金额和对应的第一随机数;
余额更新子模块,用于根据交易金额、第一随机数与交易信息中的第四余额承诺对收款方私密账户的余额、收款方私密账户的余额承诺与收款方私密账户当前的余额随机数进行更新。
第三方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现上述任一基于以太坊的具备可选隐私服务的分布式支付方法方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一基于以太坊的具备可选隐私服务的分布式支付方法方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于以太坊的具备可选隐私服务的分布式支付方法方法。
本申请实施例有益效果:本申请实施例提供的一种基于以太坊的具备可选隐私服务的分布式支付方法,可以通过通过付款方私密账户设置交易金额;选取第一随机数生成交易金额对应的交易金额承诺;获取付款方私密账户当前的余额承诺,得到第一余额承诺;通过交易金额承诺,与第一余额承诺,计算得到付款方私密账户交易后的余额承诺,得到第二余额承诺;获取收款方私密账户当前的余额承诺,得到第三余额承诺;获取收款方私密账户的公钥,并根据公钥对交易金额和对应的第一随机数进行加密,得到交易数据密文;通过交易金额承诺,与第三余额承诺,计算得到收款方私密账户交易后的余额承诺,得到第四余额承诺;将交易金额承诺、第二余额承诺、第四余额承诺、付款方私密账户、收款方私密账户、交易数据密文打包成一个交易信息;通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上;通过收款方私密账户根据区块链上的交易信息,更新收款方私密账户余额及余额承诺。从而实现通过随机数生成交易数据即对应的交易金额承诺和余额承诺,将交易金额承诺和余额承诺用于区块链的信息记录,而对交易金额通过加密后发送至收款方以避免交易数据的泄露,实现保护用户隐私的目的。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施的基于以太坊的具备可选隐私服务的分布式支付方法的一种流程图。
图2为本申请实施的对交易信息进行验证的流程图。
图3为本申请实施的创建私密账户的流程图。
图4为本申请实施例的私密账户的创建的一种实例流程图。
图5为本申请实施例的对收款方账户余额进行更新的流程图。
图6本申请实施例的普通交易的一种实例流程图。
图7本申请实施例的秘密交易的一种实例流程图。
图8本申请实施例的基于以太坊的具备可选隐私服务的分布式支付装置的示意图。
图9本申请实施例的一种电子设备。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种基于以太坊的具备可选隐私服务的分布式支付方法,包括:
通过付款方私密账户设置交易金额,其中,付款方私密账户为通过密文等值签名方案CEs创建的账户;
选取第一随机数生成交易金额对应的交易金额承诺,其中,第一随机数为任意随机数;
获取付款方私密账户当前的余额承诺,得到第一余额承诺,其中,付款方私密账户当前的余额承诺用于表征付款方私密账户当前的余额;
通过交易金额承诺,与第一余额承诺,计算得到付款方私密账户交易后的余额承诺,得到第二余额承诺;
获取收款方私密账户当前的余额承诺,得到第三余额承诺,其中,收款方私密账户为通过密文等值签名方案CEs创建的账户;
获取收款方私密账户的公钥,并根据公钥对交易金额和对应的第一随机数进行加密,得到交易数据密文;
通过交易金额承诺,与第三余额承诺,计算得到收款方私密账户交易后的余额承诺,得到第四余额承诺;
将交易金额承诺、第二余额承诺、第四余额承诺、付款方私密账户、收款方私密账户、交易数据密文打包成一个交易信息;
通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上;
通过收款方私密账户根据区块链上的交易信息,更新收款方私密账户余额及余额承诺。
通过本申请的基于以太坊的具备可选隐私服务的分布式支付方法,可以实现通过随机数生成交易数据即对应的交易金额承诺和余额承诺,将交易金额承诺和余额承诺用于区块链的信息记录,而对交易金额通过加密后发送至收款方以避免交易数据的泄露,实现保护用户隐私的目的。
以下进行详细说明,参见图1,图1为本申请实施的基于以太坊的具备可选隐私服务的分布式支付方法的一种流程图,包括:
步骤S11,通过付款方私密账户设置交易金额。
其中,付款方私密账户为通过密文等值签名方案CEs创建的账户。可以为通过付款方的普通账户私钥创建付款方的私密账户,如输入的用户私钥sk,通过:
Figure BDA0002529794980000081
Figure BDA0002529794980000082
Figure BDA0002529794980000083
得到付款方的私密账户的密钥对
Figure BDA0002529794980000091
其中,
Figure BDA0002529794980000092
为付款方的私密账户的私钥,sk为付款方的普通账户的私钥,
Figure BDA0002529794980000093
为付款方的私密账户的公钥,g为椭圆曲线群上的任意一点,函数Hash1和Hash2表示两种不同的抗碰撞散列函数,sk为付款方的普通账户的私钥,
Figure BDA0002529794980000094
Figure BDA0002529794980000095
为中间值。
本申请实施例的一种基于以太坊的具备可选隐私服务的分布式支付方法方法针对的是智能终端设备中的运行的应用所提供的付款方式,因此可以通过智能终端设备执行,具体的,该智能终端设备可以为电脑或服务器等。
步骤S12,选取第一随机数生成交易金额对应的交易金额承诺。
其中,第一随机数为任意随机数。在实际使用过程中,由于交易过程中的交易金额为正数,因此第一随机数可以为任一正数。实际使用过程中可以通过多种方式生成交易金额对应的交易金额承诺。例如,通过Pedersen承诺机制生成交易金额对应的交易金额承诺。如,对于待隐藏值s,通过Com=s·G+r·H实现对s的隐藏。其中,r用于增强承诺的随机性;G和H是椭圆曲线上的两个互不相同的点;·是椭圆曲线上的点乘操作。通过选取第一随机数生成交易金额对应的交易金额承诺后,无法通过暴力破解的方式,根据交易金额承诺得到对应的交易金额。
步骤S13,获取付款方私密账户当前的余额承诺,得到第一余额承诺。
其中,付款方私密账户当前的余额承诺用于表征付款方私密账户当前的余额。获取付款方私密账户当前的余额承诺可以为在当前付款方的私密账户获取当前的余额承诺,也可以为在区块链上根据当前账户的历史交易记录获取到付款方的秘密账户当前的余额承诺。在实际使用过程中,还可以获取付款方私密账户当前的余额对应的余额随机数,得到付款方私密账户交易前的余额随机数。
步骤S14,通过交易金额承诺,与第一余额承诺,计算得到付款方私密账户交易后的余额承诺,得到第二余额承诺。
其中,通过交易金额承诺,与第一余额承诺,计算得到付款方私密账户交易后的余额承诺,可以通过交易后的余额承诺为第一余额承诺减去交易金额承诺得到。因此,第二余额承诺可以为第一余额承诺减去交易金额承诺。在实际使用过程中,还包括,根据付款方私密账户交易前的余额随机数和第一随机数计算得到付款方私密账户交易后的余额随机数。在实际交易过程中交易金额对应的随机数也应该满足对应的代数关系,因此,付款方私密账户交易前的余额随机数减去第一随机数等于付款方私密账户交易后的余额随机数。
步骤S15,获取收款方私密账户当前的余额承诺,得到第三余额承诺。
其中,收款方私密账户为通过密文等值签名方案CEs创建的账户。其中,获取收款方私密账户当前的余额承诺,得到第三余额承诺,可以为通过获取区块链上,收款方私密账户的交易记录计算得到收款方私密账户当前的余额承诺,例如,获取区块链上记录收款方私密账户所有的收入,减去区块链上记录收款方私密账户所有的支出,得到收款方私密账户当前的余额承诺。
步骤S16,获取收款方私密账户的公钥,并根据公钥对交易金额和对应的第一随机数进行加密,得到交易数据密文。
其中,在区块链上收款方私密账户的公钥可以为全网公开的数据,因此,在进行交易时,可以在区块链上直接获取到收款方私密账户的公钥。根据公钥对交易金额和对应的第一随机数进行加密,得到交易数据密文,可以为通过现有技术的方法实现,例如,通过ECC(椭圆加密算法)根据收款方私密账户的公钥对交易金额进行加密,得到交易数据密文。在实际使用过程中,可以将上述交易数据密文通过线下的方式发送给收款方,也可以将其打包到交易信息中发送给收款方。
步骤S17,通过交易金额承诺,与第三余额承诺,计算得到收款方私密账户交易后的余额承诺,得到第四余额承诺。
其中,由于得到收款方私密账户交易后的余额承诺应该满足代数关系,因此,收款方私密账户交易后的余额承诺应等于第三余额承诺加上交易金额承诺。
步骤S18,将交易金额承诺、第二余额承诺、第四余额承诺、付款方私密账户、收款方私密账户、交易数据密文打包成一个交易信息。
其中,将付款方私密账户、收款方私密账户在实际使用过程中为付款方私密账户的账户地址、收款方私密账户的账户地址,在实际使用过程中,付款方私密账户的账户地址为通过付款方私密账户的公钥生成的地址,收款方私密账户的账户地址为通过收款方私密账户的公钥生成的账户地址,而付款方私密账户的账户地址、收款方私密账户的账户地址在区块链中为公开的数据,因此可以直接获取到付款方私密账户的账户地址、收款方私密账户的账户地址。
步骤S19,通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上。
其中,通过CEs对交易信息进行签名,可以为通过:
Figure BDA0002529794980000111
Figure BDA0002529794980000112
得到对应的签名,并将得到的签名添加到打包后的交易中;其中,
Figure BDA0002529794980000113
为付款方的私密账户的私钥,函数Hash1和Hash2表示两种不同的抗碰撞散列函数,
Figure BDA0002529794980000114
Figure BDA0002529794980000115
中间值,
Figure BDA0002529794980000116
为生成的签名。
在实际使用过程中,将签名后的交易信息发送给记账节点后,记账节点可以根据上述交易信息总的数据对本次交易进行验证,当验证成功后再进行记账,将上述交易信息进行广播,即发送到区块链上。
步骤S20,通过收款方私密账户根据区块链上的交易信息,更新收款方私密账户余额及余额承诺。
其中,通过收款方私密账户根据区块链上的交易信息,更新收款方私密账户余额及余额承诺,可以为根据交易信息中的第四余额承诺对收款方私密账户当前的余额承诺进行更新。并根据收款方私密账户的私钥对上述交易信息中的交易数据密文进行解密,得到本次交易金额,根据本次交易金额对收款方私密账户当前的账户余额进行更新。
可见通过本申请实施例的基于以太坊的具备可选隐私服务的分布式支付方法可以实现通过随机数生成交易数据即对应的交易金额承诺和余额承诺,将交易金额承诺和余额承诺用于区块链的信息记录,而对交易金额通过加密后发送至收款方以避免交易数据的泄露,实现保护用户隐私的目的。
可选的,参见图2,交易信息中还包括根据交易金额承诺和第二余额承诺生成的本次交易的范围证明,步骤S19通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上,包括:
步骤S191,通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点。
其中,通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,可以便于记账节点根据上述签名对本次交易信息进行验证。
步骤S192,通过记账节点根据CEs对签名进行验证。
其中,记账节点根据CEs对签名进行验证,可以为上述记账节点通过:
Figure BDA0002529794980000121
其中,Sig待检验的签名,
Figure BDA0002529794980000122
签名者的公钥,e为双线性配对,Hash1为抗碰撞散列函数,
Figure BDA0002529794980000123
Figure BDA0002529794980000124
为中间值,G为椭圆曲线上的任意一点。对于待验证的签名Sig,
Figure BDA0002529794980000125
为付款方私密账户的公钥,当验证得到上述等式成立,则说明sig是合法的。
步骤S193,当CEs判定签名为合法签名时,通过bulletproof方案对范围证明进行验证。
其中,bulletproof方案为一种证明方案,根据交易金额承诺和第二余额承诺通过调用bulletproof方案中的证明生成算法来生成的相应的范围证明,通过上述范围证明可以表示本次交易的交易金额小于付款方的账户余额,且是非负数,即上述第二余额承诺和交易金额承诺中所隐藏的金额值均为大于等于零的正数,从而保证本次交易的合法性。通过零知识证明方案Schnorr对范围证明进行验证,可以通过调用bulletproof方案中的证明验证算法来检验交易金额承诺和第二余额承诺的范围证明的合法性,保证交易的正常,防止出现非法交易的情况。
步骤S194,当范围证明符合预设规则时,判断是否满足第一余额承诺减去交易金额承诺等于第二余额承诺,且第三余额承诺与交易金额承诺之和等于第四余额承诺。
在交易过程中,为了保证交易后的余额承诺的合法性,应该对交易过程中的交易金额承诺和余额承诺之间的代数关系进行验证。当交易合法时,第一余额承诺减去交易金额承诺等于第二余额承诺,且第三余额承诺与交易金额承诺之和等于第四余额承诺。
步骤S195,当满足时,将交易信息发送到区块链上。
当上述条件均满足时,可以判定本次交易为合法的交易,当判定交易合法后,可以通过记账节点对本次交易进行记账,即将本次交易信息进行广播,将本次交易信息记录在区块链上。
可见,通过对本次交易的签名、范围证明和交易金额承诺和余额承诺进行验证后,可以保证本次交易的合法性,从而防止出现违规交易的情况出现。
可选的,参见图3,通过付款方私密账户设置交易金额之前,上述方法还包括:
步骤S31,获取付款方的私密账户的创建请求。
在本申请中,当付款方创建私密账户时,可以为在付款方有普通账户的情况下进行私密账户的创建。例如,用户在自己的支付宝为账户中新建一个私密账户。
步骤S32,通过CEs生成一组密钥对。
其中,密钥对包括付款方的公钥和付款方的私钥,私钥用于对公钥加密的内容进行解密,私钥用于对公钥加密的内容进行解密,也可以用于对交易信息生成签名。通过CEs生成一组密钥对,可以为根据付款方的普通账户的私钥生成一组密钥对。
步骤S33,根据付款方的公钥生成私密账户的账户地址。
其中,根据付款方的公钥生成私密账户的账户地址,可以为生成的密钥对中的公钥生成私密账户的账户地址。
步骤S34,设置私密账户的初始余额为0,选取一组随机数作为初始随机数,并根据初始随机数生成对应的初始余额承诺。
其中,在创建私密账户后设置初始余额为0,可以便于后续交易过程中的计算防止出现非法交易。
步骤S35,通过零知识证明Schnorr方案生成私密账户的初始余额证明。
通过Schnorr生成私密账户的初始余额证明,可以为通过预设公式CM=0·G+r·H=r·H,生成私密账户的初始余额证明CM。其中,G和H为椭圆曲线上的两个不同的点,r为初始随机数。
在实际使用过程中可以参见图4,图4为本申请实施例的私密账户的创建的一种实例流程图,当用户首次调用隐私服务时,需要在客户端选择开启隐私服务。客户端在收到请求后会调用私密账户创建模块来生成秘密建账交易,并将该交易发布到底层区块链网络中。记账服务器端在收到请求后,会调用秘密建账验证模块来验证该交易的合法性。随后,服务器端会将验证通过的交易记录到区块链上并更新本地的历史交易数据库。
可见,上述生成初始余额证明过程中,根据初始随机数r可以防止使用某一非零的正整数b来伪造初始余额承诺CM′=b·G+r′·H的情况,同时Schnorr签名现有技术中的签名具有更高的安全性和更小的证明体积从而可以有效地降低证据的数据量大小,从而降低系统的通信成本。
可选的,通过CEs生成一组密钥对,包括:
根据付款方的普通账户的私钥sk,通过
Figure BDA0002529794980000141
Figure BDA0002529794980000142
Figure BDA0002529794980000143
生成一组密钥对
Figure BDA0002529794980000144
其中,
Figure BDA0002529794980000145
为付款方的私密账户的私钥,函数Hash1和Hash2表示两种不同的抗碰撞散列函数,g表示椭圆曲线群上的任意一点,
Figure BDA0002529794980000146
Figure BDA0002529794980000147
为中间值。
可选的,参见图5,步骤S20通过收款方私密账户根据区块链上的交易信息,更新得到收款方私密账户余额及余额承诺,包括:
步骤S201,根据收款方私密账户的私钥对交易信息中的交易数据密文进行解密,得到交易金额和对应的第一随机数。
其中,根据收款方私密账户的私钥对交易信息中的交易数据密文进行解密,可以为通过在交易数据密文生成过程中与加密相对应的方法对交易数据密文进行解密,得到本次交易的交易金额和对应的第一随机数。
步骤S202,根据交易金额、第一随机数与交易信息中的第四余额承诺对收款方私密账户的余额、收款方私密账户的余额承诺与收款方私密账户当前的余额随机数进行更新。
实际使用过程中,通过私密账户进行交易的流程与普通账户不同,其中,在通过普通账户进行交易的流程可以参见图6,图6为本申请实施例的普通交易的一种实例流程图。当用户首次通过客户端注册进入分布式支付系统时,客户端调用普通账户创建模块来生成新的系统账户用于日常交易。普通账户的余额可以通过交易所进行充值。当用户发起一笔支付交易时,在客户端的普通支付界面中输入待支付的金额以及收款方的账户地址。客户端会根据用户输入的参数来调用普通交易构建模块,生成相应的交易并将其发布在底层的区块链网络中。记账服务器端在收到该交易后,对其签名和交易信息进行检验。随后,服务器将验证通过的交易通过共识协议记录到区块链上,同时更新本地的历史交易数据库。收款方的客户端在区块链上发现该交易后,会调用普通账户余额更新模块来根据交易内容更新本地存储的余额值,普通的支付交易成功。
通过私密账户进行交易还可以参见图7,图7本申请实施例的秘密交易的一种实例流程图,当用户想要使用秘密账户进行支付时,在客户端的秘密支付界面中输入待支付的金额以及收款方的账户地址。客户端在收到请求之后,调用秘密交易创建模块来构建秘密交易并将其发布在底层区块链网络中。记账服务器在收到该交易后,调用秘密交易验证模块来验证其合法性。随后,服务器端将验证成功的秘密交易通过共识机制记录在区块链上并更新本地的历史交易数据库。收款方的客户端在区块链上发现该交易后,会调用私密账户余额更新模块来根据交易内容更新本地存储的余额值,秘密支付交易成功。
可见,通过本申请实施例的方法,可以通过对获取到的交易数据密文进行解密后对收款方的余额进行更新,从而得到交易后的余额,从而对收款方的账户信息进行更新,从而完成本次交易。
第二方面,参见图8,图8本申请实施例的基于以太坊的具备可选隐私服务的分布式支付装置的示意图,包括:
金额设置模块801,用于通过付款方私密账户设置交易金额,其中,付款方私密账户为通过密文等值签名方案CEs创建的账户;
承诺生成模块802,用于选取第一随机数生成交易金额对应的交易金额承诺,其中,第一随机数为任意随机数;
第一承诺获取模块803,用于获取付款方私密账户当前的余额承诺,得到第一余额承诺,其中,付款方私密账户当前的余额承诺用于表征付款方私密账户当前的余额;
第二承诺计算模块804,用于通过交易金额承诺,与第一余额承诺,计算得到付款方私密账户交易后的余额承诺,得到第二余额承诺;
第三承诺获取模块805,用于获取收款方私密账户当前的余额承诺,得到第三余额承诺,其中,收款方私密账户为通过密文等值签名方案CEs创建的账户;
密文获取模块806,用于获取收款方私密账户的公钥,并根据公钥对交易金额和对应的第一随机数进行加密,得到交易数据密文;
第四承诺计算模块807,用于通过交易金额承诺,与第三余额承诺,计算得到收款方私密账户交易后的余额承诺,得到第四余额承诺;
交易打包模块808,用于将交易金额承诺、第二余额承诺、第四余额承诺、付款方私密账户、收款方私密账户、交易数据密文打包成一个交易信息;
信息签名模块809,用于通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点,以使记账节点将交易信息发送到区块链上;
余额更新模块810,用于通过收款方私密账户根据区块链上的交易信息,更新收款方私密账户余额及余额承诺。
可选的,交易信息中还包括根据交易金额承诺和第二余额承诺生成的本次交易的范围证明,信息签名模块,包括:信息发送子模块,用于通过CEs对交易信息进行签名,并将签名后的交易信息发送给记账节点;
签名验证子模块,用于通过记账节点根据CEs对签名进行验证;
范围验证子模块,用于当CEs判定签名为合法签名时,通过bulletproof方案对范围证明进行验证;
承诺判断子模块,用于当范围证明符合预设规则时,判断是否满足第一余额承诺减去交易金额承诺等于第二余额承诺,且第三余额承诺与交易金额承诺之和等于第四余额承诺;
区块链发送子模块,用于当满足时,将交易信息发送到区块链上。
可选的,上述装置还包括:请求获取模块,用于获取付款方的私密账户的创建请求;
密钥对生成模块,用于通过CEs生成一组密钥对,其中,密钥对包括付款方的公钥和付款方的私钥,私钥用于对公钥加密的内容进行解密;
账户生成模块,用于根据付款方的公钥生成私密账户的账户地址;
余额设置模块,用于设置私密账户的初始余额为0,选取一组随机数作为初始随机数,并根据初始随机数生成对应的初始余额承诺;
证明生成模块,用于通过零知识证明Schnorr方案生成私密账户的初始余额证明。
可选的,密钥对生成模块,包括:密钥对计算子模块,用于根据付款方的普通账户的私钥sk,通过
Figure BDA0002529794980000171
Figure BDA0002529794980000172
Figure BDA0002529794980000173
生成一组密钥对
Figure BDA0002529794980000174
其中,
Figure BDA0002529794980000175
付款方的私密账户的私钥,函数Hash1和Hash2表示两种不同的抗碰撞散列函数,g表示椭圆曲线群上的任意一点,
Figure BDA0002529794980000176
Figure BDA0002529794980000177
为中间值。
可选的,余额更新模块,包括:密文解密子模块,用于根据收款方私密账户的私钥对交易信息中的交易数据密文进行解密,得到交易金额和对应的第一随机数;
余额更新子模块,用于根据交易金额、第一随机数与交易信息中的第四余额承诺对收款方私密账户的余额、收款方私密账户的余额承诺与收款方私密账户当前的余额随机数进行更新。
可见,通过本申请实施例的基于以太坊的具备可选隐私服务的分布式支付装置,可以实现通过随机数生成交易数据即对应的交易金额承诺和余额承诺,将交易金额承诺和余额承诺用于区块链的信息记录,而对交易金额通过加密后发送至收款方以避免交易数据的泄露,实现保护用户隐私的目的。
本申请实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,存储器903,用于存放计算机程;处理器901,用于执行存储器903上所存放的程序时,实现上述任一基于以太坊的具备可选隐私服务的分布式支付方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于以太坊的具备可选隐私服务的分布式支付方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于以太坊的具备可选隐私服务的分布式支付方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (10)

1.一种基于以太坊的具备可选隐私服务的分布式支付方法,其特征在于,包括:
通过付款方私密账户设置交易金额,其中,所述付款方私密账户为通过密文等值签名方案CEs创建的账户;
选取第一随机数生成所述交易金额对应的交易金额承诺,其中,所述第一随机数为任意随机数;
获取所述付款方私密账户当前的余额承诺,得到第一余额承诺,其中,所述所述付款方私密账户当前的余额承诺用于表征所述付款方私密账户当前的余额;
通过所述交易金额承诺,与所述第一余额承诺,计算得到所述付款方私密账户交易后的余额承诺,得到第二余额承诺;
获取收款方私密账户当前的余额承诺,得到第三余额承诺,其中,所述收款方私密账户为通过密文等值签名方案CEs创建的账户;
获取收款方私密账户的公钥,并根据所述公钥对交易金额和对应的所述第一随机数进行加密,得到交易数据密文;
通过所述交易金额承诺,与所述第三余额承诺,计算得到所述收款方私密账户交易后的余额承诺,得到第四余额承诺;
将所述交易金额承诺、所述第二余额承诺、所述第四余额承诺、所述付款方私密账户、所述收款方私密账户、所述交易数据密文打包成一个交易信息;
通过CEs对所述交易信息进行签名,并将签名后的交易信息发送给记账节点,以使所述记账节点将所述交易信息发送到区块链上;
通过所述收款方私密账户根据所述区块链上的交易信息,更新所述收款方私密账户余额及余额承诺。
2.根据权利要求1所述的方法,其特征在于,所述交易信息中还包括根据所述交易金额承诺和所述第二余额承诺生成的本次交易的范围证明,所述通过CEs对所述交易信息进行签名,并将签名后的交易信息发送给记账节点,以使所述记账节点将所述交易信息发送到区块链上,包括:
通过所述CEs对所述交易信息进行签名,并将签名后的交易信息发送给记账节点;
通过所述记账节点根据所述CEs对所述签名进行验证;
当所述CEs判定所述签名为合法签名时,通过bulletproof方案对所述范围证明进行验证;
当所述范围证明符合预设规则时,判断是否满足所述第一余额承诺减去所述交易金额承诺等于所述第二余额承诺,且所述第三余额承诺与所述所述交易金额承诺之和等于所述第四余额承诺;
当满足时,将所述交易信息发送到区块链上。
3.根据权利要求1所述的方法,其特征在于,所述通过付款方私密账户设置交易金额之前,所述方法还包括:
获取付款方的私密账户的创建请求;
通过CEs生成一组密钥对,其中,所述密钥对包括付款方的公钥和付款方的私钥,所述私钥用于对公钥加密的内容进行解密;
根据所述付款方的公钥生成私密账户的账户地址;
设置所述私密账户的初始余额为0,选取一组随机数作为初始随机数,并根据所述初始随机数生成对应的初始余额承诺;
通过零知识证明Schnorr方案生成所述私密账户的初始余额证明。
4.根据权利要求3所述的方法,其特征在于,所述通过CEs生成一组密钥对,包括:
根据所述付款方的普通账户的私钥sk,通过
Figure FDA0002529794970000021
Figure FDA0002529794970000022
Figure FDA0002529794970000023
生成一组密钥对
Figure FDA0002529794970000024
其中,所述
Figure FDA0002529794970000025
为付款方的私密账户的私钥,函数Hash1和Hash2表示两种不同的抗碰撞散列函数,g表示椭圆曲线群上的任意一点,
Figure FDA0002529794970000031
Figure FDA0002529794970000032
为中间值。
5.根据权利要求1所述的方法,其特征在于,所述通过所述收款方私密账户根据所述区块链上的交易信息,更新得到所述收款方私密账户余额及余额承诺,包括:
根据所述收款方私密账户的私钥对所述交易信息中的所述交易数据密文进行解密,得到所述交易金额和对应的所述第一随机数;
根据所述交易金额、所述第一随机数与所述交易信息中的所述第四余额承诺对所述收款方私密账户的余额、所述收款方私密账户的余额承诺与所述收款方私密账户当前的余额随机数进行更新。
6.一种基于以太坊的具备可选隐私服务的分布式支付装置,其特征在于,包括:
金额设置模块,用于通过付款方私密账户设置交易金额,其中,所述付款方私密账户为通过密文等值签名方案CEs创建的账户;
承诺生成模块,用于选取第一随机数生成所述交易金额对应的交易金额承诺,其中,所述第一随机数为任意随机数;
第一承诺获取模块,用于获取所述付款方私密账户当前的余额承诺,得到第一余额承诺,其中,所述所述付款方私密账户当前的余额承诺用于表征所述付款方私密账户当前的余额;
第二承诺计算模块,用于通过所述交易金额承诺,与所述第一余额承诺,计算得到所述付款方私密账户交易后的余额承诺,得到第二余额承诺;
第三承诺获取模块,用于获取收款方私密账户当前的余额承诺,得到第三余额承诺,其中,所述收款方私密账户为通过密文等值签名方案CEs创建的账户;
密文获取模块,用于获取收款方私密账户的公钥,并根据所述公钥对交易金额和对应的所述第一随机数进行加密,得到交易数据密文;
第四承诺计算模块,用于通过所述交易金额承诺,与所述第三余额承诺,计算得到所述收款方私密账户交易后的余额承诺,得到第四余额承诺;
交易打包模块,用于将所述交易金额承诺、所述第二余额承诺、所述第四余额承诺、所述付款方私密账户、所述收款方私密账户、所述交易数据密文打包成一个交易信息;
信息签名模块,用于通过CEs对所述交易信息进行签名,并将签名后的交易信息发送给记账节点,以使所述记账节点将所述交易信息发送到区块链上;
余额更新模块,用于通过所述收款方私密账户根据所述区块链上的交易信息,更新所述收款方私密账户余额及余额承诺。
7.根据权利要求6所述的装置,其特征在于,所述交易信息中还包括根据所述交易金额承诺和所述第二余额承诺生成的本次交易的范围证明,所述信息签名模块,包括:
信息发送子模块,用于通过所述CEs对所述交易信息进行签名,并将签名后的交易信息发送给记账节点;
签名验证子模块,用于通过所述记账节点根据所述CEs对所述签名进行验证;
范围验证子模块,用于当所述CEs判定所述签名为合法签名时,通过bulletproof方案对所述范围证明进行验证;
承诺判断子模块,用于当所述范围证明符合预设规则时,判断是否满足所述第一余额承诺减去所述交易金额承诺等于所述第二余额承诺,且所述第三余额承诺与所述所述交易金额承诺之和等于所述第四余额承诺;
区块链发送子模块,用于当满足时,将所述交易信息发送到区块链上。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
请求获取模块,用于获取付款方的私密账户的创建请求;
密钥对生成模块,用于通过CEs生成一组密钥对,其中,所述密钥对包括付款方的公钥和付款方的私钥,所述私钥用于对公钥加密的内容进行解密;
账户生成模块,用于根据所述付款方的公钥生成私密账户的账户地址;
余额设置模块,用于设置所述私密账户的初始余额为0,选取一组随机数作为初始随机数,并根据所述初始随机数生成对应的初始余额承诺;
证明生成模块,用于通过零知识证明Schnorr方案生成私密账户的初始余额证明。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN202010515147.XA 2020-06-08 2020-06-08 一种基于以太坊的具备可选隐私服务的分布式支付方法 Active CN111815322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010515147.XA CN111815322B (zh) 2020-06-08 2020-06-08 一种基于以太坊的具备可选隐私服务的分布式支付方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010515147.XA CN111815322B (zh) 2020-06-08 2020-06-08 一种基于以太坊的具备可选隐私服务的分布式支付方法

Publications (2)

Publication Number Publication Date
CN111815322A true CN111815322A (zh) 2020-10-23
CN111815322B CN111815322B (zh) 2023-11-07

Family

ID=72846057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010515147.XA Active CN111815322B (zh) 2020-06-08 2020-06-08 一种基于以太坊的具备可选隐私服务的分布式支付方法

Country Status (1)

Country Link
CN (1) CN111815322B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112669150A (zh) * 2020-12-25 2021-04-16 联想(北京)有限公司 基于区块链的数据处理方法、装置及系统
CN112685793A (zh) * 2020-12-25 2021-04-20 联想(北京)有限公司 基于区块链的数据处理方法、装置和系统
CN112801659A (zh) * 2021-01-25 2021-05-14 矩阵元技术(深圳)有限公司 基于智能合约的隐私交易处理方法、装置及存储介质
CN112819467A (zh) * 2021-02-23 2021-05-18 中国信息通信研究院 一种隐私交易方法、装置及系统
CN112990904A (zh) * 2021-05-17 2021-06-18 北京荷月科技有限公司 基于区块链的转账方法、装置和电子设备
CN112990928A (zh) * 2021-05-10 2021-06-18 南开大学 一种可监管的匿名法定数字货币发行与流通方法
CN113159762A (zh) * 2021-01-28 2021-07-23 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统
CN117236959A (zh) * 2023-11-10 2023-12-15 金网络(北京)数字科技有限公司 一种具有隐私保护的区块链交易方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109447791A (zh) * 2018-11-09 2019-03-08 北京邮电大学 一种基于区块链的资金交易方法及装置
WO2019071113A1 (en) * 2017-10-06 2019-04-11 Stealthpath, Inc. INTERNET COMMUNICATION SECURITY METHODS
CN109829326A (zh) * 2018-11-20 2019-05-31 西安电子科技大学 基于区块链的跨域认证与公平审计去重云存储系统
WO2020057302A1 (zh) * 2018-09-20 2020-03-26 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019071113A1 (en) * 2017-10-06 2019-04-11 Stealthpath, Inc. INTERNET COMMUNICATION SECURITY METHODS
WO2020057302A1 (zh) * 2018-09-20 2020-03-26 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备
CN109447791A (zh) * 2018-11-09 2019-03-08 北京邮电大学 一种基于区块链的资金交易方法及装置
CN109829326A (zh) * 2018-11-20 2019-05-31 西安电子科技大学 基于区块链的跨域认证与公平审计去重云存储系统
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XUE BAI 等: "RZcash: A Privacy Protection Scheme for the Account-based Blockchain", 《2019 17TH INTERNATIONAL CONFERENCE ON PRIVACY, SECURITY AND TRUST (PST)》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112669150A (zh) * 2020-12-25 2021-04-16 联想(北京)有限公司 基于区块链的数据处理方法、装置及系统
CN112685793A (zh) * 2020-12-25 2021-04-20 联想(北京)有限公司 基于区块链的数据处理方法、装置和系统
CN112801659A (zh) * 2021-01-25 2021-05-14 矩阵元技术(深圳)有限公司 基于智能合约的隐私交易处理方法、装置及存储介质
CN113159762A (zh) * 2021-01-28 2021-07-23 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN113159762B (zh) * 2021-01-28 2024-04-09 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN112819467A (zh) * 2021-02-23 2021-05-18 中国信息通信研究院 一种隐私交易方法、装置及系统
CN112990928A (zh) * 2021-05-10 2021-06-18 南开大学 一种可监管的匿名法定数字货币发行与流通方法
CN112990904A (zh) * 2021-05-17 2021-06-18 北京荷月科技有限公司 基于区块链的转账方法、装置和电子设备
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统
CN117236959A (zh) * 2023-11-10 2023-12-15 金网络(北京)数字科技有限公司 一种具有隐私保护的区块链交易方法、装置及存储介质
CN117236959B (zh) * 2023-11-10 2024-02-09 金网络(北京)数字科技有限公司 一种具有隐私保护的区块链交易方法、装置及存储介质

Also Published As

Publication number Publication date
CN111815322B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
CN111815322B (zh) 一种基于以太坊的具备可选隐私服务的分布式支付方法
WO2021114819A1 (zh) 生成和执行智能合约交易的方法及装置
CN108764874B (zh) 基于区块链的匿名转账方法、系统及存储介质
US11842317B2 (en) Blockchain-based authentication and authorization
CN109359974B (zh) 区块链交易方法及装置、电子设备
US20190295069A1 (en) Systems and methods for integrating cryptocurrency wallet identifiers with digital certificates
JP2021529397A (ja) ブロックチェーンアドレスおよび所有者の検証のためのシステムおよび方法
KR102621116B1 (ko) Id 기반 공개 키 암호화를 이용한 전자 지불 방법 및 전자 디바이스
US20240187393A1 (en) Network resource access control methods and systems using transactional artifacts
WO2020051710A1 (en) System and process for managing digitized security tokens
US20040165728A1 (en) Limiting service provision to group members
JPH10133576A (ja) 公開鍵暗号方法および装置
CN114580029A (zh) 一种区块链数字资产隐私保护方法、装置、设备及存储介质
WO2020192236A1 (zh) 基于盲签名的交易方法及装置
CN105187405A (zh) 基于信誉的云计算身份管理方法
KR20120091618A (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
CN112365252A (zh) 基于账户模型的隐私交易方法、装置及相关设备
CN112948789B (zh) 身份认证方法及装置、存储介质及电子设备
JP2023524107A (ja) 暗号化されたブラックボックスアキュムレータを備えた分散型プライバシ保護リワード
US7257554B1 (en) Anonymous purchases while allowing verifiable identities for refunds returned along the paths taken to make the purchases
CN111861474B (zh) 基于cpk的转账方法、用户终端及云端服务器
CN113222603A (zh) 一种国际贸易信用结算认证方法及系统
CN111062833A (zh) 一种合同数据的签名认证方法及相关装置
He et al. A new signature scheme: joint-signature
CN117454437B (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