CN110366738A - 在区块链网络中的跨资产交易 - Google Patents

在区块链网络中的跨资产交易 Download PDF

Info

Publication number
CN110366738A
CN110366738A CN201980000802.3A CN201980000802A CN110366738A CN 110366738 A CN110366738 A CN 110366738A CN 201980000802 A CN201980000802 A CN 201980000802A CN 110366738 A CN110366738 A CN 110366738A
Authority
CN
China
Prior art keywords
node
value
transaction
group
block chain
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
CN201980000802.3A
Other languages
English (en)
Other versions
CN110366738B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN110366738A publication Critical patent/CN110366738A/zh
Application granted granted Critical
Publication of CN110366738B publication Critical patent/CN110366738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • 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/381Currency conversion
    • 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • 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
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本实施方式涉及在区块链网络内进行跨资产交易,并包括:第一节点基于第一价值、第二价值以及第二节点的汇率提供交易信息;从所述第二节点接收第一证据组、第一范围证明和所述第二节点的数字签名,并提交该交易以用于基于所述第一范围证明、第二范围证明、所述第一证据组、第二证据组、所述第一节点的数字签名、所述第二节点的数字签名进行验证;执行所述交易以将所述第一节点的余额减少所述第一价值,将所述第二节点的第一余额增加所述第一价值,将所述第二节点的第二余额减少所述第二价值,并将第三节点的余额增加所述第二价值。

Description

在区块链网络中的跨资产交易
背景技术
分布式账本(DLS),也可称为共识网络和/或区块链网络,使参与实体能够安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络的示例类型可以包括公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络向所有实体开放使用DLS,并开放参与共识过程。私有区块链网络针对特定实体提供,该实体集中控制读写权限。联盟区块链网络针对选择的实体组群提供,该实体组群控制共识过程,并包括访问控制层。
区块链网络可以用于通过转账和兑换诸如货币的数字资产来交易价值。通过将数字资产从区块链网络的一个节点转账到另一个节点,可以在区块链网络内兑换几种不同类型的数字资产。在一些情况下,在区块链网络内转账数字资产包括基于汇率将一种类型的数字资产兑换为第二类型的数字资产。
然而,区块链网络中的参与者可能期望其交易具有隐私,使得包括共识节点的其他参与者不知道交易的细节(例如,交易金额,汇率)。为了提供隐私,可以使用加密方案。然而,一些加密方案不支持例如同态乘法的乘法运算。尽管一些加密方案支持这种乘法运算,但它们仅限于单次乘法运算。这抑制了包括例如汇率的跨资产交易中的参与者维持汇率的隐私的能力。
发明内容
本文的实施方式包括用于在区块链网络内转账货币的计算机实现的方法。更具体地,本文的实施方式涉及使用加密交易数据和加密汇率的在区块链网络内的跨资产交易。
在一些实施方式中,操作包括:由所述区块链网络中的第一节点基于第一价值和第二价值使用Boneh-Goh-Nissim(BGN)加密法生成密文,所述第二价值基于所述第一价值以及由所述区块链网络中的第二节点提供的汇率确定;由所述第一节点向所述第二节点传输所述第一价值和所述密文;由所述第一节点从所述第二节点接收第一证据组,所述第一证据组包括可以用于通过零知识证明(ZKP)例程在不显露所述汇率的情况下验证所述汇率的数据组;由所述第一节点生成第二证据组,所述第二证据组包括可用于使用ZKP例程验证所述密文是由所述第一节点的BGN公钥加密的数据组;由所述第一节点定义交易,所述交易包括在所述第一节点和所述第二节点之间的、用于将所述第一价值从所述第一节点转账至所述第二节点的第一交易,以及在所述第二节点和第三节点之间的、用于将所述第二价值从所述第二节点转账至所述第三节点的第二交易;以及由所述第一节点将所述交易传输至所述区块链网络的至少一个共识节点,以用于所述交易的验证和执行,基于所述第一证据组、所述第二证据组验证所述交易,并且响应于验证所述交易,执行所述第一交易和所述第二交易,以将所述第一节点的余额减少所述第一价值,将所述第二节点的第一余额增加所述第一价值,将所述第二节点的第二余额减少所述第二价值,并将所述第三节点的余额增加所述第二价值。其他实施方式包括:相应的系统、装置和计算机程序,其编码在计算机存储设备上被配置为执行所述方法的操作。
这些和其他实施方式可以各自可选地包括以下特征中的一个或多个:第一证据组由所述第二节点基于所述第一价值、由所述第一节点提供的随机数对,以及所述密文提供;由所述至少一个共识节点验证所述交易包括:验证所述第一节点的数字签名和所述第二节点的数字签名;由所述至少一个共识节点验证所述交易包括:验证由所述第一节点提供的第一范围证明和由所述第二节点提供的第二范围证明;所述第一范围证明包括ZKP以证明所述第一价值大于零,并且所述第一节点的余额大于或等于所述第一价值;所述第二范围证明包括ZKP以证明所述第二节点的所述第二余额大于或等于所述第二价值;所述交易还包括数据组,所述数据组包括至少部分地基于BGN加密法生成的一组密文,所述数据组用于由所述至少一个共识节点验证所述交易;操作还包括:由所述第一节点通过区块链网络的子链信道从所述第二节点接收所述汇率;所述密文中的至少一个密文是使用Pedersen承诺提供的;所述第一证据组的所述数据组包括第一数据值和第二数据值,基于用于生成所述第二节点的BGN公钥的参数确定所述第一数据值和所述第二数据值中的每个;并且所述第二证据组的所述数据组包括密文组和价值组,该价值组中的每个价值至少部分地基于所述密文组的哈希值。
本文还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施方式执行操作。
本文还提供了用于实现本文提供的方法的系统。该系统包括一个或多个处理器,以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施方式执行操作。
应了解,根据本文的方法可包括本文描述的方面和特征的任何组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任何组合。
以下在附图和描述中阐述了本文的一个或多个实施方式的细节。根据说明书和附图以及权利要求,本文的其他特征和优点将显而易见。
附图说明
图1描绘了可用于执行本文实施方式的环境的示例。
图2描绘了根据本文实施方式的概念性架构的示例。
图3描绘了根据本文实施方式的跨资产交易平台的示例。
图4描绘了根据本文实施方式的用于执行跨资产交易的信号图的示例。
图5描绘了可根据本文实施方式执行的过程的示例。
图6描绘了根据本文实施方式的装置的模块的示例。
各附图中的相同附图标记表示相同的组件。
具体实施方式
本文的实施方式包括用于在区块链网络内转账资产的计算机实现的方法。更具体地,本文的实施方式涉及使用加密的交易数据和加密的汇率的、区块链网络内的跨资产交易。
为本文的实施方式提供进一步的背景,并且如上所述,分布式账本系统(DLS),又可称为共识网络(例如,由点对点节点组成)和区块链网络,使参与的实体能够安全地、不可篡改地进行交易和存储数据。虽然“区块链”一词通常与特定网络和/或用例相关联,但是本文所使用的区块链一般指在不参考任何特定用例的情况下的DLS。
区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链包括一个或多个区块。链中的每个区块通过包含链中紧邻其之前的前一区块的加密哈希值(cryptographic hash)链接到该前一区块。每个区块还包括时间戳、自身的加密哈希值以及一个或多个交易。已经被区块链网络中的节点验证的交易经哈希处理并编入默克尔(Merkle)树中。Merkle树是一种数据结构,在该树的叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值在该分支的根处连接。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。声称是存储在树中的交易的哈希值可以通过确定其是否与树的结构一致而被快速验证。
区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识过程由授权的节点集控制,一个或多个节点由相应的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体可以操作联盟区块链网络中的至少一个节点。因此,联盟区块链网络可以被认为是与参与实体相关的私有网络。在一些示例中,每个实体(节点)必须对每个区块签名以使区块有效,并被添加到区块链中。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个区块签名以使区块有效,并被添加到区块链中。
如上所述,区块链网络可以被提供为公有区块链网络,私有链区块网络或联盟区块链网络。本文参考联盟区块链网络进一步详细描述了本文的实施方式。然而,可以预期,本文的实施方式可以在任何适当类型的区块链网络中实现。尽管本文中描述的技术被表明为与联盟区块链网络相关的技术,但无论更改与否,这些技术也可以在其他类型的区块链网络中使用,包括公有区块链网络和私有区块链网络。
通常,联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识过程由授权的节点集控制,其可以被称为共识节点集,一个或多个共识节点由相应的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构,保险公司)组成的联盟可以操作联盟区块链网络,每个实体可以操作联盟区块链网络中的至少一个节点。
在一些示例中,在联盟区块链网络内,全局区块链作为跨所有节点复制的区块链提供。也就是说,所有共识节点相对于全局区块链处于完全共识状态。为了达成共识(例如,同意向区块链添加区块),在公有区块链网络内实施共识协议。示例性共识协议包括但不限于实用拜占庭容错(PBFT),工作量证明(POW),权益证明(POS)和权限证明(POA)。
联盟区块链网络可用于进行数字资产的转账和兑换。在一些情况下,数字资产可以代表现实世界的资产。在一些情况下,数字资产可以代表虚拟资产。例如,虚拟资产可以代表现实世界的价值,并且该虚拟资产可以用于购买产品和/或服务。虚拟资产被提供为现实世界的实体资产(例如人民币、美元)的替代品。在联盟区块链网络内进行交易提供了额外的安全性,因为联盟区块链网络验证交易且不可篡改地记录交易。本文中参考货币(例如,人民币、美元)更详细地描述了本文的实施方式。然而,可以预期,这些实施方式可以用任何适当的数字资产来实现。
图1描绘了可用于执行本文实施方式的环境100的示例。在一些示例中,环境100使得实体能够参与到联盟区块链网络102中。环境100包括计算设备106、108和网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网络站点、用户设备(例如,计算设备)和后台系统。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。
在所描绘的示例中,计算系统106、108可以各自包括能够作为节点参与至联盟区块链网络102中的任何适当的计算系统。示例性计算设备包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备以及智能电话。在一些示例中,计算系统106、108承载一个或多个由计算机实施的服务,用于与联盟区块链网络102进行交互。例如,计算系统106可以承载第一实体(例如,用户A)的由计算机实施的、例如交易管理系统的服务,第一实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。计算系统108可以承载第二实体(例如,用户B)的由计算机实施的、例如交易管理系统的服务,第二实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。在图1的示例中,联盟区块链网络102被表示为节点的点对点网络(Peer-to-Peer network),且计算系统106、108分别提供参与联盟区块链网络102的第一实体和第二实体的节点。
图2描绘了根据本文实施方式的概念性架构200的示例。概念性架构200包括实体层202、承载服务层204和区块链网络层206。在所描绘的示例中,实体层202包括三个参与者,参与者A、参与者B和参与者C,每个参与者具有相应的交易管理系统208。
在所描绘的示例中,承载服务层204包括用于每个交易管理系统208的接口210。在一些示例中,相应的交易管理系统208通过网络(例如,图1的网络110)使用协议(例如,超文本传输协议安全(HTTPS))与相应的接口210进行通信。在一些示例中,每个接口210提供区块链网络层206与相应的交易管理系统208之间的通信连接。更具体地,接口210与区块链网络层206的区块链网络212通信。在一些示例中,使用远程调用(RPC)在区块链网络层206和接口210之间进行通信。在一些示例中,接口210“承载”用于相应交易管理系统208的区块链网络节点。例如,接口210提供用于访问区块链网络212的应用程序编程接口(API)。
如本文所述,区块链网络212被提供为点对点网络(peer-to-peer network),其包括在区块链216中不可篡改地记录信息的多个节点214。尽管示意性地描述了单个区块链216,但是在区块链网络212上提供并维护了区块链216的多个副本。例如,每个节点214存储区块链的一个副本。在一些实施方式中,区块链216存储与在参与联盟区块链网络中的两个或更多个实体之间执行的交易关联的信息。
区块链(例如,图2的区块链216)由一系列区块组成,每个区块存储数据。示例性数据包括表示两个或更多个参与者之间的交易的交易数据。虽然本文通过非限制性示例使用了“交易”,但是可以预期,任何适当的数据可以存储在区块链中(例如,文档、图像、视频、音频)。示例性交易可以包括但不限于有价物的交换(例如,资产、产品、服务、货币)。交易数据不可篡改地存储在区块链中。也就是说,交易数据不能改变。
在将交易数据存储在区块中之前,对交易数据进行哈希处理。哈希处理是将交易数据(作为字符串数据提供)转换为固定长度哈希值(也作为字符串数据提供)的过程。不可能对哈希值进行去哈希处理(un-hash)以获取交易数据。哈希处理可确保即使交易数据中的轻微改变也会导致生成完全不同的哈希值。此外,如上所述,哈希值具有固定长度。也就是说,无论交易数据的大小如何,哈希值的长度都是固定的。哈希处理包括通过哈希函数处理交易数据以生成哈希值。示例性哈希函数包括但不限于输出256位哈希值的安全哈希算法(SHA)-256。
多个交易的交易数据被哈希处理并存储在区块中。例如,提供两个交易的哈希值,并对它们本身进行哈希处理以提供另一个哈希值。重复此过程,直到针对所有要存储在区块中的交易提供单个哈希值为止。该哈希值被称为Merkle根哈希值,并存储在区块头中。任何交易中的更改都会导致其哈希值发生变化,并最终导致Merkle根哈希值发生变化。
通过共识协议将块添加到区块链。区块链网络中的多个节点参与共识协议,并进行工作以将区块添加到区块链中。这样的节点被称为共识节点。上面介绍的PBFT用作共识协议的非限制性示例。共识节点执行共识协议以将交易添加到区块链中。
更详细地,共识节点生成区块头,对区块中的所有交易哈希处理,并将哈希值成对地组合以生成进一步的哈希值,直到针对区块中的所有交易提供单个哈希值(Merkle根哈希值)为止。将此哈希值将添加到区块头中。共识节点还确定区块链中最新的区块(即,添加到区块链中的最后一个区块)的哈希值。共识节点还向区块头中添加随机数(nonce)值和时间戳。
通常,PBFT提供容忍拜占庭错误(例如,故障节点、恶意节点)的实用拜占庭状态机复制。这通过在PBFT中假设将发生错误(例如,假设存在独立节点故障,和/或由共识节点发送的操纵消息)实现。在PBFT中,共识节点以包括主共识节点和备共识节点的顺序提供。主共识节点被周期性地改变,通过区块链网络内的所有共识节点对区块链网络的全局状态达成一致,将交易添加到区块链中。在此过程中,消息在共识节点之间传输,并且每个共识节点证明消息是从指定的对等节点(peer node)接收的,并验证消息在传输期间未被篡改。
在PBFT中,共识协议是在所有共识节点始于相同的状态的情况下分多个阶段提供的。首先,客户端向主共识节点发送请求以调用服务操作(例如,在区块链网络内执行交易)。响应于接收请求,主共识节点将请求组播到备共识节点。备共识节点执行请求,并且各自向客户端发送回复。客户端等待直到收到阈值数量的回复。在一些示例中,客户端等待接收f+1个回复,其中f是在区块链网络内可以容忍的错误共识节点的最大数量。最终结果是,足够数量的共识节点就将记录添加到区块链的顺序达成一致,且该记录或被接受,又或被拒绝。
在一些区块链网络中,用加密处理来维护交易的隐私。例如,如果两个节点想要保持交易隐私,以使得区块链网络中的其他节点不能看出交易的细节,则这两个节点可以对交易数据进行加密。示例性加密处理包括但不限于对称加密和非对称加密。对称加密是指使用单个密钥既进行加密(从明文生成密文)又进行解密(从密文生成明文)的加密过程。在对称加密中,同一密钥可用于多个节点,因此每个节点可对交易数据进行加密/解密。
非对称加密使用密钥对,每个密钥对包括私钥和公钥,私钥仅对于相应节点是已知的,而公钥对于区块链网络中的任何或所有其他节点是已知的。一个节点可以使用另一个节点的公钥来加密数据,并且该加密的数据可以使用另一节点的私钥解密。例如,再次参考图2,参与者A可以使用参与者B的公钥来加密数据,并将加密数据发送给参与者B。参与者B可以使用其私钥来解密该加密数据(密文)并提取原始数据(明文)。使用节点的公钥加密的消息只能使用该节点的私钥解密。
非对称加密用于提供数字签名,这使得交易中的参与者能够确认交易中的其他参与者以及交易的有效性。例如,一个节点可以对消息进行数字签名,而另一个节点可以根据参与者A的数字签名来确认消息是由那一个节点发送的。数字签名也可以用于确保消息在传输过程中不被篡改。例如,再次参考图2,参与者A将向参与者B发送消息。参与者A生成消息的哈希值,然后使用其私钥加密该哈希值以提供为加密哈希值的数字签名。参与者A将该数字签名附加到该消息上,并将该具有数字签名的消息发送给参与者B。参与者B使用参与者A的公钥解密该数字签名,并提取哈希值。参与者B对消息进行哈希处理并比较哈希值。如果哈希值相同,参与者B可以确认该消息确实来自参与者A,且未被篡改。
与现实世界物理货币的转账一样,有效地转账数字化代表的货币有时需要受让人将第一类型的货币兑换成第二类型的货币。例如,联盟区块链网络的仅具有第一类型的货币(例如,美元($))的第一成员(例如,参与者A)可能想要将货币转账到该联盟区块链网络的使用第二类型的货币(例如,人民币)的第二成员(例如,参与者C)。为了让参与者A将价值转账给参与者C,在将第一类型货币的金额转账给参与者C之前,需要将其兑换成同等价值的第二类型货币的金额。
根据本文的实施方式,并且如本文进一步详细描述的,货币类型的兑换可以通过联盟区块链网络的第三成员(例如,参与者B)作为中介来实现。例如,参与者A可以将第一类型货币的金额转账给参与者B,参与者B可以基于参与者B使用的汇率(ER)将具有同等价值的第二类型货币的金额转账给参与者C。在一些示例中,参与者B是向联盟区块链网络的成员提供货币兑换服务的金融机构。
为了确保区块链网络内的货币兑换所涉及的各方的隐私,在区块链网络内进行验证和发布兑换之前,兑换的底层交易数据被加密。在一些示例中,交易数据包括第一货币的转账金额(t1)和被提供用于兑换第一金额的第二货币的金额(t2)。通常,使用例如Boneh-Goh-Nissim(BGN)加密法的同态加密方案加密被提交给区块链用于验证的交易数据。在同态加密方案下,可以将两项或更多项加密数据相加而不受限制。与其他加密方案(例如,帕耶(Paillier)公钥加密法(PKE))不同,BGN加密法使得能够在两个密文上进行同态乘法(例如,加密的β与加密的t1相乘)。但是,使用同态加密法加密的数据项仅限于单次乘法。这是因为使用同态加密法加密的两个数据项的乘法配对所生成的加密乘积具有与加密乘数不同的阶。
下面的等式证明了乘法同态的一次性性质,其通常被称为椭圆曲线的配对:
其中,被做乘法的每个加密数据项在与该乘法的乘积所在的椭圆曲线不同的椭圆曲线上。由于底层的椭圆曲线的这种变化,由乘法同态产生的加密数据项不能进一步相乘或相除。另外,由乘法同态生成的加密数据项不能与由直接同态加密生成的数据项进行比较。例如,由于底层椭圆曲线的区别,上述等式中在相同的椭圆曲线上的前两个加密数据项可以彼此进行比较,但是不能与由乘法同态所生成的椭圆曲线上的第三个加密数据项进行比较。
在BGN加密法中,每个要使用BGN加密法的参与者i会被提供通过密钥生成处理生成的BGN公钥(PK)、私钥(SK)对(例如PKBGN_i,SKBGN_o),通过该密钥生成处理,提供以下内容:
SKBGN_i=p
其中,
N=pq
p,q为较大的质数
为N阶的椭圆曲线
e:为配对
为生成元
Q=qαP(p阶的的子群的随机生成元)
α<N
在本文的执行背景中,在同态加密方案下,涉及公开汇率的兑换交易可以由联盟区块链网络验证和记录,而不会显露或公布转账的金额和/或兑换的金额。例如,由参与者A向兑换服务提供方参与者B转账的第一货币的金额(t1),和参与者B提供的、用于兑换第一金额的第二货币的金额(t2)都可以使用同态加密法来加密。在该方案下,加密的t1和加密的t2都在椭圆曲线上。可以将加密的转账金额t1乘以参与者B的公开汇率,以确定参与者B为兑换t1应该提供的第二货币的金额。因为在本示例中参与者B的汇率是公开的、未加密的值,所以t1和公开汇率的乘积是在与t1相同的椭圆曲线上的加密数据项。区块链网络可以通过将加密的t1和公开汇率的乘积与加密数据项t2进行比较,来验证参与者A和参与者B之间的兑换交易。如果加密的t1乘以公开汇率的乘积等于加密数据项t2,则交易被验证,并被记录在区块链上。
虽然该验证方案提供了用于验证涉及公开汇率的兑换交易的有效方法,但提供货币兑换服务的区块链网络成员通常与其他此类供应方竞争。因此,他们不希望他们的汇率在区块链网络内是公开的。因此,期望对区块链网络内进行的、由区块链网络验证的兑换交易的汇率和交易数据加密。
然而,当使用上述验证时,同态加密的单次乘法的限制对兑换交易的验证造成阻碍,其中交易数据和汇率都利用同态加密法来加密。例如,可以使用同态加密法对由参与者A向兑换服务供应商参与者B转账的第一货币的金额(t1)、由参与者B将第一货币的转账金额兑换为第二货币的金额(t2)、以及参与者B的汇率(β)进行加密。在此方案下,加密的t1、加密的t2和加密的β都在相同的椭圆曲线上。
如上所述,每当兑换交易中涉及的汇率是公开的时,区块链网络可以通过将t1和公开汇率的乘积与加密数据项t2进行比较来验证兑换交易。然而,当汇率被加密时(β),t1和加密汇率(β)的乘积在与t2的底层曲线不同的椭圆曲线上。基于乘法同态导致的这种阶的差异,t1乘以加密汇率(β)的乘积不能与t2进行比较。因此,在当前的验证方案中,不能在区块链网络内对涉及交易数据和汇率的加密的兑换交易进行验证。
鉴于上述背景,并且如本文进一步详细描述的,本文的实施方式涉及在区块链网络内使用加密的交易数据和加密的汇率的跨资产交易。更具体地,本文的跨资产交易平台使得能够利用私有(加密)汇率验证进行交易。
图3描绘了根据本文实施方式的跨资产交易平台300的示例。在所描绘的示例中,示例性跨资产交易平台300包括分别与设备302、304、306相关联的三个参与者,参与者A、参与者B和参与者C。示例性跨资产交易平台300还包括子链信道308、网络310和联盟区块链网络312。
在一些示例中,网络310包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且将网络站点、用户设备(例如,计算设备)和后台系统连接起来。在一些示例中,可以通过有线和/或无线通信链路来访问网络310。
如本文所述,区块链网络312被提供为包括多个节点314的点对点网络(peer-to-peer),多个节点314在区块链322中不可篡改地记录信息。尽管示意性地描绘了单个区块链322,但是在区块链网络312中提供并维护了区块链322的多个副本。例如,每个节点314存储区块链322的一个副本。在一些实施方式中,区块链322存储与参与联盟区块链网络的两个或更多个实体之间进行的交易相关联的信息。在一些示例中,设备302、304、306是在联盟区块链网络312中的对应的节点314的一部分。
在一些实施方式中,设备302、设备304和设备306包括对应的账户,账户A 316、账户B 318和账户C 320。在一些示例中,账户A 316、账户B 318和账户C 320存储金融资产。在一些示例中,账户A 316、账户B 318和账户C 320存储一种或多种货币的金额。
在一些实施方式中,子链信道308可用于联盟区块链网络312的两个成员之间在区块链网络312外部传送信息。在一些示例中,私人财务信息可以通过子链信道308在区块链网络312外部从联盟区块链网络312的一个成员被传送至联盟区块链网络312的另一个成员。例如,通过在子链信道308上传输汇率,设备304可以在区块链网络312外部将私有汇率(β)传送至设备302。
在一些示例中,可以将联盟区块链网络312的两个或更多个成员之间的交易提交给区块链网络312以进行验证和记录。在一些示例中,可以将联盟区块链网络312的两个或更多个成员之间的资产(例如,货币)兑换交易提交给区块链网络312以验证该兑换。在一些示例中,提交给区块链网络312的交易信息是被加密的。在一些示例中,提交给区块链网络312的交易信息是使用同态加密法加密的。在一些示例中,交易信息包括汇率、待转账的第一金额和待转账的第二金额。在一些示例中,待转账的第二金额等于第一金额乘以汇率的乘积。
图4描绘了根据本文实施方式的用于执行跨资产交易的信号图400的示例。图4的信号图400包括账户A 402(例如,区块链网络中的节点)、账户B 404(例如,区块链网络中的节点)、以及区块链网络的共识节点406。在一些示例中,账户A 402和账户B 404用于管理区块链网络中的参与者的资产(例如,分别管理参与者A和参与者B)。在一些示例中,账户A402和账户B 404分别存储参与者A和参与者B的数字资产。在一些示例中,参与者B是金融机构。
本文参考图4更详细地描述了跨资产交易的示例。在示例性交易中,第一货币(例如,美元)的金额(t1)从账户A以第二货币(例如人民币)金额(t2)的形式被转账到区块链网络中另一参与者(例如,参与者C)的账户。利用账户B 404(中间人)转账该金额(t1),该账户B 404提供第一货币和第二货币之间的私有汇率(β)。账户A 402包括余额(sA),该余额是账户A 402可用的第一货币的价值余额。账户B 404包括第一余额以及第二余额该第一余额是账户B 404可用的第一货币的价值余额,该第二余额是账户B 404可用的第二货币的价值余额。
在示例性跨资产交易中,私有汇率(β)从账户B 404被传输(408)到账户A 402。传送私有汇率的消息可以通过网络传输。在一些示例中,传送私有汇率的消息通过子链信道(例如,图3的子链信道308)传输。
帐户A 402生成(410)两个随机数(r1,r2)。账户A 402计算(412)兑换金额(t2)和密文组(X1,Y1,Z1)和(X2,Y2,Z2)。在一些实施方式中,兑换金额(t2)等于待转账的金额(t1)与私有汇率(β)的乘积,如下所示:
t2=βt1
在一些实施方式中,基于承诺方案和加密方案确定密文组(X1,Y1,Z1)和(X2,Y2,Z2)。示例性承诺方案包括但不限于,佩德森承诺(Pedersen Commitment,PC)。示例性加密方案包括但不限于BGN加密法。对于BGN加密法,每个参与者都含有BGN公钥(PK)、私钥(SK)对。例如,账户A 402具有分配给它的BGN PK-SK对(例如,PKBGN_A,SKBGN_A)、账户B 404具有分配给它的BGN PK-SK对(例如,PKBGN_B,SKBGN_B)、账户C(图4中未示出)具有分配给它的BGNPK-SK对(例如,PKBGN_C,SKBGN_C)。
在一些实施方式中,密文组(X1,Y1,Z1)和(X2,Y2,Z2)分别如下确定:
(X1,Y1,Z1)=(PC(t1,r1),BGNA(t1,r1),BGNB(t1,r1))
(X2,Y2,Z2)=(PC(t2,r2),BGNB(t2,r2),BGNC(t2,r2))
标记PC(t,r)表示以随机数r作为盲因子的t的佩德森承诺。标记BGNA表示使用账户A 402的公钥的BGN加密,标记BGNB表示使用账户B 404的公钥的BGN加密,标记BGNC表示使用账户C的公钥的BGN加密。在一些示例中,账户A 402将余额密文提供为:
其中为由账户A 402生成的随机数。
密文的子组(X1,Z1)和(X2,Y2)、随机数(r1,r2)以及金额(t1)从账户A 402被发送(414)至账户B 404。在一些实施方式中,从账户A 402向账户B 404发送的消息是加密的消息(例如,使用上述的非对称加密)。在一些示例中,通过子链信道(例如,图3的子链信道308)传输消息。在一些示例中,(加密的)消息包括数据组[t1,r1,r2,X1,Z1,X2,Y2]。
账户B解密消息以显露数据(例如,[t1,r1,r2,X1,Z1,X2,Y2])。账户B404验证(416)密文数据。在一些示例中,账户B 404通过基于账户A 402提供的t1,r1,r2检查密文X1,Z1,X2,Y2是否正确来验证密文数据。即,账户B重新计算X1,Z1,X2,Y2并确认他们是否等于从账户A402接收的数据。如果密文不相等,则可以向账户A发送错误且交易结束。
如果密文被验证,账户B 404生成(418)范围证明(range proof)。在一些实施方式中,范围证明(RPB)为零知识证明(ZKP),其可以被用来确认账户B 404是否具有充足的资金以执行兑换交易。例如,可以生成范围证明(RPB)来证明:
在一些示例中,账户B 404提供第一余额密文和第二余额密文,分别为:
其中,为由账户B 404提供的随机数。在一些示例中,账户B 404提供兑换密文:
(E′,E″)=(PC(β,γ),BGNB(β,γ))
其中,γ为由账户B 404生成的随机数,并且与其他账户共享γ(例如,将γ与汇率(β)一起被提供给账户A 402)。
生成(420)证据组(EX),其可以被用于验证私有汇率(β)。在一些实施方式中,汇率的证据组(EX)被提供为:
在一些示例中,U和V分别被计算为:
其中PB和QB被提供在PKBGN_A中,且t’,为由账户B 404生成的随机数。在一些示例中,t″,分别被计算为:
t″=t′+yt2
其中,y=Hash(U,V),且分别被计算为:
在一些示例中,哈希处理Hash可以被提供为任何适当的哈希函数,该哈希函数被区块链网络中的包括共识节点的参与者公知(例如,SHA-256)。
在一些实施方式中,账户B 404向账户A 402返回(422)加密的消息,其包括如下示例数据组:
(X1,Z1,X2,Y2;RPB,EX;SigB)
其中SigB为账户B 404的数字签名。在一些示例中,消息通过子链信道(例如,图3的子链信道308)传输。
账户A 402生成(424)范围证明(RPA),其作为交易具有一定金额,且账户A 402具有足够的资产进行交易的ZKP。换句话说,范围证明(RPA)可以用来证明:
t1≥0且sA-t1≥0
账户A 404生成(426)子交易,其包括从账户A 402到账户B 404的针对金额(t1)的第一子交易,以及从账户B 404到账户C的针对金额(t2)的第二子交易。在一些示例中,账户A生成随机数(t′,r′)并且将密文组提供为:
(X′,Y′,Z′)=(PC(t′,r′),BGNA(t′,r′),BGNB(t′,r′))
账户A将数据组(PF)提供为:
PF=(X′,Y′,Z′;t′1,r′1,t′2,r′2)
其中,t′1=t′+xt1,r′1=r′+xr2,t′2=t′+xt2,以及r′2=r′+xr2
其中,x=Hash(X′,Y′,Z′)
账户A 402将第一和第二子交易分别提供为:
A,B:X1,Y1,Z1
B,C:X2,Y2,Z2
其中A为账户A 402的标识符,B为账户B 404的标识符,C为账户C的标识符(例如,标识符被提供为区块链网络内的相应地址)。提供了包括第一子交易、第二子交易、范围证明以及支持证据组的交易。例如,该交易被提供为:
A,B:X1,Y1,Z1;B,C:X2,Y2,Z2;RPA,PF;RPB,EX
由账户A 402对交易进行数字签名(428),并且交易包括账户A 402的签名(SigA)和账户B 404的签名(SigB)。账户A 402将签名的交易提交(430)至共识节点406。且签名的交易可被提供为:
(A,B:X1,Y1,Z1;B,C:X2,Y2,Z2;RPA,PF;RPB,EX;SigA,SigB)
共识节点406验证(432)账户A 402和账户B 404的签名。若签名未被验证,则交易结束,并可以向账户A 402提供错误消息。若签名被验证,则由共识节点406验证(434)范围证明(RPA)和范围证明(RPB)。因为范围证明为ZKP,每个ZKP都可以在不显露底层明文数据的情况下被证明为真或返回错误。若范围证明未被验证,则交易结束,并向账户A 402提供错误消息。若范围证明被验证,则确定交易金额大于0,并且账户A 402和账户B 404都具有足够的对应货币的资产来进行交易。
在一些实施方式中,共识节点406通过使用数据组(PF)中的证据和证据组(EX)来验证(436)交易。在一些示例中,共识节点406验证如下关系是否成立:
PC(t′1,r′1)=X′+xX1
BGNA(t′1,r′1)=Y′+xY1
BGNB(t′1,r′1)=Z′+xZ1
PC(t′2,r′2)=X′+xX2
BGNB(t′2,r′2)=Y′+xY2
BGNC(t′2,r′2)=Z′+xZ2
其中,x=Hash(X′,Y′,Z′)。若如上关系成立,则确认密文(BGN密文)是用适当的公钥加密的,并且交易金额是正确的。
还验证了交易是以公布的(虽然是加密的)汇率进行的。例如共识节点406通过使用数据组(EX)中的证据来验证汇率。在一些示例中,共识节点406计算y=Hash(U,V),并且使用y以验证如下关系是否成立:
如果关系不成立,则交易和/或汇率未被验证,交易结束,并且可以向账户A 402提供错误消息。如果关系不成立,则共识节点406将交易记录到联盟区块链网络中(438),且账户A 402、账户B 404和账户C的账户余额被更新。例如,账户A 402的余额(sA)减少了金额(t1)、账户B 404的余额增加了金额(t1)、帐户B 404的余额减少了金额(t2)、帐户C的余额增加了金额(t2)。
图5描绘了可根据本文实施方式执行的过程500的示例。在一些实施方式中,可以使用利用一个或多个计算设备执行的一个或多个计算机可执行程序来执行示例性过程500。在一些示例中,示例性过程500可以由联盟区块链网络的节点执行,以在区块链网络内进行跨资产交易。
接收汇率(502)。例如,由与区块链网络中的第一参与者相关联的第一节点(例如,区块链网络的节点)从与区块链网络中的第二参与者相关联的第二节点(例如,区块链网络中的节点)接收汇率。在一些示例中,通过子链信道接收汇率。在一些示例中,汇率是第二参与者的私有汇率。在一些实施方式中,第二参与者是金融机构。在一些实施方式中,汇率指定了第二参与者将第一类型货币兑换为第二类型货币的比率。例如,汇率可以指定第二参与者将美元兑换成人民币的比率。
由第一节点生成第一随机数和第二随机数(504)。分别使用第一随机数和第二随机数将第一金额和第二金额分别加密在第一密文组内和第二密文组内(506)。在一些示例中,第一金额是待由第一参与者向参与者成员转账以用于兑换的第一资产类型的金额。在一些示例中,第二金额是用于兑换第一金额的第二资产类型的金额。在一些示例中,第二金额等于第一金额乘以第二参与者的汇率的乘积。
在一些示例中,第一密文组包括第一金额和第一随机数的随机数承诺以及第一金额和第一随机数的两个同态加密。在一些示例中,第二密文组包括第二金额和第二随机数的随机数承诺以及第二金额和第二随机数的两个同态加密。在一些示例中,第一密文组包括第一金额和第一随机数的PC,以及分别使用第一参与者的BGN公钥和第二参与者的BGN公钥加密的第一金额的BGN加密和第一随机数的BGN加密。在一些示例中,第二密文组包括第二金额和第二随机数的PC,以及分别使用第二参与者的BGN公钥和第三参与者的BGN公钥加密的第二金额的BGN加密和第二随机数的BGN加密。
将第一金额、第一随机数、第二随机数、第一密文组的至少一部分(子组)以及第二密文组的至少一部分(子组)从第一节点传输至第二节点(508)。在一些实施方式中,通过子链信道传输第一金额、第一随机数、第二随机数、第一密文组的至少一部分和第二密文组的至少一部分。
接收第一范围证明、汇率的证据组和第一签名(510)。在一些实施方式中,由第一节点通过子链信道从第二节点接收第一范围证明、汇率的证据组和第一签名。在一些示例中,第一数字签名是第二参与者的基于非对称加密方案的数字签名。在一些示例中,第一范围证明提供与第二成员相关联的账户具有足够的与第二金额相同的资产类型的资金以将第一金额兑换为第二金额的证据。
生成数据组、第二范围证明和第二数字签名(512)。在一些示例中,在区块链网络内使用数据组来至少部分地确认跨资产交易的真实性。在一些示例中,第二数字签名是第一参与者的基于非对称加密方案的数字签名。在一些示例中,第二范围证明提供与第一参与者相关联的账户具有足够的与第一金额相同的资产类型的资金以将第一金额转账到第二参与者并且第一金额不是负数的证据。
将交易提交给区块链网络以进行验证(514)。在一些实施方式中,由第一节点提交给区块链网络的交易包括第一密文组、第二密文组、第一范围证明、数据组、第二范围证明、汇率的证据组、第一数字签名和第二数字签名。在一些实施方式中,区块链网络内的至少一个共识节点验证签名和范围证明。在一些实施方式中,至少一个共识节点在不显露交易数据(例如,第一金额、第二金额、汇率)的情况下验证交易。在一些实施方式中,响应于对交易的成功验证,在区块链网络内执行交易。在一些示例中,在区块链上更新第一参与者和第二参与者的账户以反映兑换的资产。在一些示例中,更新第三参与者的账户以反映其收到了第二金额。
图6是根据本文实施方式的装置600的模块的示例的图。装置600可以是区块链网络中被配置为参与私人跨资产交易的区块链节点的示例性实施方式,其中区块链网络是联盟区块链网络。装置600可以对应于上述实施方式,并且装置600包括以下内容:
生成单元602基于第一价值和第二价值使用BGN加密生成密文,第二价值是基于第一价值和区块链网络中的第二个节点提供的汇率所确定。传输单元604将第一价值和密文传输到第二节点。接收单元606接收包括数据组的第一证据组,该数据组可用于在不显露汇率的情况下以ZKP例程验证汇率。生成单元602生成包括数据组的第二证据组,该数据组可用于使用ZKP例程验证密文由BGN公钥加密。
交易定义单元608定义交易,该交易包括第一节点和第二节点之间的、用于将第一价值从第一节点转账到第二节点的第一交易,以及第二节点和第三节点之间的、用于将第二价值从第二节点转账到第三节点的第二交易。发送单元604将交易发送到区块链网络的至少一个共识节点,以用于验证和执行交易。如本文所述,可以基于第一证据组和第二证据组来验证交易。响应于验证交易,共识节点执行第一交易和第二交易以将第一节点的余额减少第一价值、将第二节点的第一余额增加第一价值、将第二节点的第二余额减少第二价值并将第三节点的余额增加第二价值。
在可选的实施方式中,由第二节点基于第一价值、由第一节点提供的随机数对和密文来提供第一证据组。
在可选的实施方式中,由共识节点验证交易包括验证第一节点的数字签名和第二节点的数字签名。
在可选的实施方式中,由共识节点验证交易包括验证由第一节点提供的第一范围证明和由第二节点提供的第二范围证明。
在可选的实施方式中,第一范围证明包括ZKP以证明第一价值大于零,并且第一节点的余额大于或等于第一价值。
在可选的实施方式中,第二范围证明包括ZKP以证明第二节点的第二余额大于或等于第二价值。
在可选的实施方式中,交易还包括数据组,该数据组包括至少部分地基于BGN加密生成的一组密文,该数据组用于由至少一个共识节点验证交易。
在可选的实施方式中,接收单元606通过区块链网络的子链信道从第二节点接收汇率。
在可选的实施方式中,使用PC提供多个密文中的至少一个密文。
在可选的实施方式中,第一证据组的数据组包括第一数据值和第二数据值,第一数据值和第二数据值均基于用于生成第二节点BGN公钥的参数所确定。
在可选的实施方式中,第二证据组的数据组包括密文组和价值组,该价值组中的每个价值至少部分地基于该密文组的哈希值。
在先前实施例中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件接收和发送设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任意组合。
对于装置中每个单元的功能和角色的实施过程,可以参考前一方法中相应步骤的实施过程。为简单起见,这里省略了细节。
由于装置实施基本上对应于方法实施,对于相关部分,可以参考方法实施中的相关描述。先前描述的设备实施仅是示例。被描述为单独部分的单元可以或可以不是物理上分离的,并且显示为单元的部分可以是或可以不是物理单元,可以位于一个位置,或者可以分布在多个网络单元上。可以基于实际需求来选择一些或所有模块,以实现本说明书解决方案的目标。本领域普通技术人员无需付出创造性劳动就能理解和实现本文的实施方式。
再次参见图6,它可以被解释为示出了私有跨资产交易装置的内部功能模块和结构。私有跨资产交易装置可以是被配置为在区块链网络内参与私有跨资产交易的区块链节点的示例。本质上,执行主体可以是电子设备,电子设备包括:一个或多个处理器;被配置为存储一个或多个处理器的可执行指令存储器。
本文中描述的主题、动作以及操作的实施可以在数字电子电路、在有形体现的计算机软件或固件、计算机硬件中实现,包括本文中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本文中描述的主题的实施可以实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上,用于由数据处理装置执行或控制数据处理装置的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,其具有编码或存储在其上的指令。载体可以是有形的非暂态计算机存储介质,例如磁盘、磁光盘、或光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或其他类型的媒体。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息用于传输到合适的接收设备以供数据处理设备执行。计算机存储介质可以是或可以部分是可机读存储设备、可机读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序也可以被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或演绎语言、或说明或程序语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括由通信数据网络互联的在一个或多个位置的一台或多台计算机。
计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件,或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的多个文件。
举例来说,用于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任意一个或多个处理器。通常,处理器将接收用于执行的计算机程序的指令以及来自耦合到处理器的非暂时性计算机可读介质的数据。
术语“数据处理装置”包括所有类型的用于处理数据的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。数据处理设备可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈,数据库管理系统、操作系统或者它们中一个或多个的组合的代码。
本文中描述的过程和逻辑流程可由一台或多台计算机或处理器执行一个或多个计算机程序执行,以执行通过运行输入数据并生成输出的操作。过程和逻辑流程也可以由例如FPGA、ASIC或GPU等的专用逻辑电路或专用逻辑电路以及一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机将包括或可操作地耦接至一个或多个存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如,磁盘、磁光盘或光盘、固态驱动器或任何其他类型的非暂时性计算机可读介质。但是,计算机不需要具有这样的设备。因此,计算机可以耦合到一个或多个存储设备,例如,本地和/或远程的一个或多个存储器。例如,计算机可以包括作为计算机的集成组件的一个或多个本地存储器,或者计算机可以耦合到云网络中的一个或多个远程存储器。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
组件可以通过可交换地彼此“耦合”,例如直接地或通过一个或多个中间组件彼此电连接或光学连接。如果其中一个组件集成到另一个组件中,组件也可以彼此“耦合”。例如,存储组件集成到处理器(例如,L2高速缓存组件)中即“耦合到”处理器中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施或配置为与该计算机通信,该计算机具有:显示设备,例如,LCD(液晶显示器)监视器,用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)进行交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息,并接收来自用户的响应消息来与用户交互。
本文使用与系统、装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
虽然本文包含许多具体实施细节,但是这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文多个单独实施方式的上下文中的描述的多个特定特征也可以在单个实施方式中的组合实现。相反,在单个实施方式的上下文中描述的各种特征也可以单独地以任何合适的子组合在多个实施方式中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在特定情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施方式中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (33)

1.一种计算机实现的用于在区块链网络内进行私有跨资产交易的方法,所述方法由一个或多个处理器执行并包括:
由所述区块链网络中的第一节点使用BGN加密法基于第一价值和第二价值生成密文,所述第二价值基于所述第一价值和由所述区块链网络中的第二节点提供的汇率所确定;
由所述第一节点向所述第二节点发送所述第一价值和所述密文;
由所述第一节点从所述第二节点接收第一证据组,所述第一证据组包括能够用于通过零知识证明ZKP例程在不显露所述汇率的情况下验证所述汇率的数据组;
由所述第一节点生成第二证据组,所述第二证据组包括能够用于使用所述ZKP例程验证所述密文是由所述第一节点的BGN公钥加密的数据组;
由所述第一节点定义交易,所述交易包括:
在所述第一节点和所述第二节点之间的、用于将所述第一价值从所述第一节点转账至所述第二节点的第一交易,以及
在所述第二节点和第三节点之间的、用于将所述第二价值从所述第二节点转账至所述第三节点的第二交易;以及
由所述第一节点将所述交易发送至所述区块链网络中的至少一个共识节点,以用于所述交易的验证和执行,基于所述第一证据组和所述第二证据组验证所述交易,并且响应于所述交易得到验证,执行所述第一交易和所述第二交易,以将所述第一节点的余额减少所述第一价值,将所述第二节点的第一余额增加所述第一价值,将所述第二节点的第二余额减少所述第二价值,并将所述第三节点的余额增加所述第二价值。
2.如权利要求1所述的方法,其中,所述第一证据组由所述第二节点基于所述第一价值、由所述第一节点提供的随机数对以及所述密文提供。
3.如权利要求1所述的方法,其中,由所述至少一个共识节点验证所述交易,包括:
验证所述第一节点的数字签名和验证所述第二节点的数字签名。
4.如权利要求1所述的方法,其中,由所述至少一个共识节点验证所述交易,包括:
验证由所述第一节点提供的第一范围证明和由所述第二节点提供的第二范围证明。
5.如权利要求4所述的方法,其中,所述第一范围证明包括ZKP以证明所述第一价值大于零且所述第一节点的所述余额大于或等于所述第一价值。
6.如权利要求4所述的方法,其中,所述第二范围证明包括ZKP以证明所述第二节点的所述第二余额大于或等于所述第二价值。
7.如权利要求1所述的方法,其中,所述交易还包括数据组,所述数据组包括使用BGN加密法生成的密文组,所述数据组用于由所述至少一个共识节点验证所述交易。
8.如权利要求1所述的方法,还包括:
由所述第一节点通过所述区块链网络的子链信道从所述第二节点接收所述汇率。
9.如权利要求1所述的方法,其中,所述密文中的至少一个密文是使用佩德森承诺提供的。
10.如权利要求1所述的方法,其中,
所述第一证据组的所述数据组包括第一数据值和第二数据值,
所述第一数据值和所述第二数据值均是基于用于生成所述第二节点的BGN公钥的参数所确定。
11.如权利要求1所述的方法,其中,
所述第二证据组的所述数据组包括密文组和价值组,
所述价值组中的每个价值基于所述密文组的哈希值。
12.一个或多个计算机可读存储介质,其上编码有指令以用于在区块链网络中进行私有跨资产交易,所述指令由一个或多个处理器执行并促使所述一个或多个处理器:
由所述区块链网络中的第一节点价值使用BGN加密法基于第一价值和第二生成密文,所述第二价值基于所述第一价值和由所述区块链网络中的第二节点提供的汇率确定;
由所述第一节点向所述第二节点发送所述第一价值和所述密文;
由所述第一节点从所述第二节点接收第一证据组,所述第一证据组包括能够用于通过零知识证明ZKP例程在不显露所述汇率的情况下验证所述汇率的数据组;
由所述第一节点生成第二证据组,所述第二证据组包括能够用于使用ZKP例程验证所述密文是由所述第一节点的BGN公钥加密的数据组;
由所述第一节点定义交易,所述交易包括:
在所述第一节点和所述第二节点之间的、用于将所述第一价值从所述第一节点转账至所述第二节点的第一交易,以及
在所述第二节点和第三节点之间的、用于将所述第二价值从所述第二节点转账至所述第三节点的第二交易;以及
由所述第一节点将所述交易发送至所述区块链网络中的至少一个共识节点,以用于所述交易的验证和执行,基于所述第一证据组和所述第二证据组验证所述交易,并且响应于所述交易得到验证,执行所述第一交易和所述第二交易,以将所述第一节点的余额减少所述第一价值,将所述第二节点的第一余额增加所述第一价值,将所述第二节点的第二余额减少所述第二价值,并将所述第三节点的余额增加所述第二价值。
13.如权利要求12所述的一个或多个计算机可读存储介质,其中,所述第一证据组由所述第二节点基于所述第一价值、由所述第一节点提供的随机数对以及所述密文提供。
14.如权利要求12所述的一个或多个计算机可读存储介质,其中,由所述至少一个共识节点验证所述交易,包括:
验证所述第一节点的数字签名和验证所述第二节点的数字签名。
15.如权利要求12所述的一个或多个计算机可读存储介质,其中,由所述至少一个共识节点验证所述交易,包括:
验证由所述第一节点提供的第一范围证明和验证由所述第二节点提供的第二范围证明。
16.如权利要求15所述的一个或多个计算机可读存储介质,其中,所述第一范围证明包括ZKP以证明所述第一价值大于零且所述第一节点的所述余额大于或等于所述第一价值。
17.如权利要求15所述的一个或多个计算机可读存储介质,其中,所述第二范围证明包括ZKP以证明所述第二节点的所述第二余额大于或等于所述第二价值。
18.如权利要求12所述的一个或多个计算机可读存储介质,其中,所述交易还包括数据组,所述数据组包括使用BGN加密法生成的密文组,所述数据组用于由所述至少一个共识节点验证所述交易。
19.如权利要求12所述的一个或多个计算机可读存储介质,还编码有能够由一个或多个处理器执行的指令,并且所述指令促使所述一个或多个处理器:
由所述第一节点通过所述区块链网络的子链信道从所述第二节点接收所述汇率。
20.如权利要求12所述的一个或多个计算机可读存储介质,其中,所述密文中的至少一个密文是使用佩德森承诺提供的。
21.如权利要求12所述的一个或多个计算机可读存储介质,其中,
所述第一证据组的所述数据组包括第一数据值和第二数据值,
所述第一数据值和所述第二数据值均是基于用于生成所述第二节点的BGN公钥的参数确定。
22.如权利要求12所述的一个或多个计算机可读存储介质,其中,
所述第二证据组的所述数据组包括密文组和价值组,
所述价值组中的每个价值基于所述密文组的哈希值。
23.一种系统包括:
一个或多个处理器;以及
一个或多个计算机可读存储器,耦接到所述一个或多个处理器,其上存储有用于在区块链网络中进行私有跨资产交易的指令,所述指令由所述一个或多个处理器执行并促使所述一个或多个处理器:
由所述区块链网络中的第一节点使用BGN加密法基于第一价值和第二价值生成密文,所述第二价值基于所述第一价值和由所述区块链网络中的第二节点提供的汇率确定;
由所述第一节点向所述第二节点发送所述第一价值和所述密文;
由所述第一节点从所述第二节点接收第一证据组,所述第一证据组包括能够用于通过零知识证明ZKP例程在不显露所述汇率的情况下验证所述汇率的数据组;
由所述第一节点生成第二证据组,所述第二证据组包括能够用于使用ZKP例程验证所述密文是由所述第一节点的BGN公钥加密的数据组;
由所述第一节点定义交易,所述交易包括:
在所述第一节点和所述第二节点之间的、用于将所述第一价值从所述第一节点转账至所述第二节点的第一交易,以及
在所述第二节点和第三节点之间的、用于将所述第二价值从所述第二节点转账至所述第三节点的第二交易;以及
由所述第一节点将所述交易发送至所述区块链网络的至少一个共识节点,以用于所述交易的验证和执行,基于所述第一证据组和所述第二证据组验证所述交易,并且响应于所述交易得到验证,执行所述第一交易和所述第二交易,以将所述第一节点的余额减少所述第一价值,将所述第二节点的第一余额增加所述第一价值,将所述第二节点的第二余额减少所述第二价值,并将所述第三节点的余额增加所述第二价值。
24.如权利要求23所述的系统,其中,所述第一证据组由所述第二节点基于所述第一价值、由所述第一节点提供的随机数对以及所述密文提供。
25.如权利要求23所述的系统,其中,由所述至少一个共识节点验证所述交易,包括:
验证所述第一节点的数字签名和验证所述第二节点的数字签名。
26.如权利要求23所述的系统,其中,由所述至少一个共识节点验证所述交易,包括:
验证由所述第一节点提供的第一范围证明和验证由所述第二节点提供的第二范围证明。
27.如权利要求26所述的系统,其中,所述第一范围证明包括ZKP以证明所述第一价值大于零且所述第一节点的所述余额大于或等于所述第一价值。
28.如权利要求26所述的系统,其中,所述第二范围证明包括ZKP以证明所述第二节点的所述第二余额大于或等于所述第二价值。
29.如权利要求23所述的系统,其中,所述交易还包括数据组,所述数据组包括使用BGN加密法生成的密文组,所述数据组用于由所述至少一个共识节点验证所述交易。
30.如权利要求23所述的系统,其中,所述一个或多个计算机可读存储器还编码有能够由一个或多个处理器执行的指令,并且所述指令促使一个或多个处理器:
由所述第一节点通过所述区块链网络的子链信道从所述第二节点接收所述汇率。
31.如权利要求23所述的系统,其中,所述密文中的至少一个密文是使用佩德森承诺提供的。
32.如权利要求23所述的系统,其中,
所述第一证据组的所述数据组包括第一数据值和第二数据值,所述第一数据值和所述第二数据值均是基于用于生成所述第二节点的BGN公钥的参数确定。
33.如权利要求23所述的系统,其中,
所述第二证据组的所述数据组包括密文组和价值组,
所述价值组中的每个价值基于所述密文组的哈希值。
CN201980000802.3A 2019-01-31 2019-01-31 在区块链网络中的跨资产交易 Active CN110366738B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/074057 WO2019072317A2 (en) 2019-01-31 2019-01-31 NEGOTIATION OF CROSSED ASSETS IN BLOCKCHAIN NETWORKS

Publications (2)

Publication Number Publication Date
CN110366738A true CN110366738A (zh) 2019-10-22
CN110366738B CN110366738B (zh) 2023-09-26

Family

ID=66100007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980000802.3A Active CN110366738B (zh) 2019-01-31 2019-01-31 在区块链网络中的跨资产交易

Country Status (17)

Country Link
US (2) US10990963B2 (zh)
EP (1) EP3602956B1 (zh)
JP (1) JP6840268B2 (zh)
KR (1) KR102194078B1 (zh)
CN (1) CN110366738B (zh)
AU (1) AU2019202832B2 (zh)
BR (1) BR112019022731A2 (zh)
CA (1) CA3061789C (zh)
ES (1) ES2869166T3 (zh)
MX (1) MX2019012941A (zh)
PH (1) PH12019502464A1 (zh)
PL (1) PL3602956T3 (zh)
RU (1) RU2736447C1 (zh)
SG (1) SG11201910095VA (zh)
TW (1) TWI712306B (zh)
WO (1) WO2019072317A2 (zh)
ZA (1) ZA201907229B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111047348A (zh) * 2019-11-08 2020-04-21 北京比特时刻图像科技有限公司 一种新型区块链共识算法及基于该算法的区块链网络系统
CN111275549A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 基于区块链的数字货币交易方法及相关装置
CN111275414A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 一种基于区块链的数字货币兑换方法、装置及系统
CN113595734A (zh) * 2020-07-03 2021-11-02 支付宝实验室(新加坡)有限公司 用于管理多个区块链网络中的交易的方法、系统和装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458539B (zh) * 2019-07-09 2021-03-23 北京链上科技有限责任公司 一种加密货币自动提取方法及系统
CN110471984B (zh) 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备
US10937096B2 (en) 2019-07-15 2021-03-02 Advanced New Technologies Co., Ltd. Transaction processing in a service blockchain
CN110535659B (zh) * 2019-09-03 2020-11-03 北京海益同展信息科技有限公司 用于处理数据请求的方法、装置、电子设备和计算机可读介质
CN111369250B (zh) * 2020-03-06 2023-09-05 微民保险代理有限公司 基于联盟链的数据处理方法、装置、设备以及存储介质
JP2021177267A (ja) * 2020-05-05 2021-11-11 豊 仲宗根 取引システム、取引システムの制御方法及び取引システムの制御プログラム
CN111835500B (zh) * 2020-07-08 2022-07-26 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN112133386A (zh) * 2020-09-29 2020-12-25 深圳壹账通智能科技有限公司 一种基于区块链的信息处理方法、装置、设备及介质
CN112039926B (zh) * 2020-11-04 2021-03-26 南京金宁汇科技有限公司 一种区块链的双层链式架构实现方法
CN112751662B (zh) * 2020-12-29 2022-10-25 山西特信环宇信息技术有限公司 一种锥体区块链的共享链
CN113657877A (zh) * 2021-02-20 2021-11-16 支付宝(杭州)信息技术有限公司 基于区块链的资产管理方法、系统及装置
KR102372111B1 (ko) * 2021-10-25 2022-03-10 주식회사 온더 영지식 증명 기반 블록체인 가상머신 검증 시스템
CN114793228A (zh) * 2022-03-29 2022-07-26 上海万向区块链股份公司 基于零知识证明防止商户作恶的数据源筛选方法和系统
TWI823592B (zh) * 2022-09-30 2023-11-21 中華電信股份有限公司 基於大數型態及加法同態執行加密混音的系統及方法
CN117726421A (zh) * 2024-02-07 2024-03-19 湖南三湘银行股份有限公司 一种应用于银行的权益管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160342978A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN108764874A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2673842C1 (ru) * 2015-03-20 2018-11-30 Ривец Корп. Автоматическая аттестация сохранности устройства с применением цепочки блоков
US9875375B2 (en) * 2015-05-29 2018-01-23 Panasonic Intellectual Property Corporation Of America Method for performing similar-information search while keeping content confidential by encryption
JP6504013B2 (ja) * 2015-10-13 2019-04-24 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
WO2017079652A1 (en) 2015-11-05 2017-05-11 Pulsifer Allen Cryptographic transactions system
US10841082B2 (en) 2015-11-24 2020-11-17 Adi BEN-ARI System and method for blockchain smart contract data privacy
WO2017171726A1 (en) * 2016-03-29 2017-10-05 Hewlett Packard Enterprise Development Lp Distributed data clustering using an untrusted mediator
KR101835518B1 (ko) * 2016-12-29 2018-04-19 주식회사 코인플러그 Utxo 기반 프로토콜을 사용하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버
MX2019008243A (es) * 2017-01-27 2019-09-06 Walmart Apollo Llc Gestión de aparatos inteligentes que utiliza tecnología de cadena de bloques .
US11481360B2 (en) * 2017-04-07 2022-10-25 Hwa-Shang CHANG Blockchain network and method of operation thereof
EP3649601A4 (en) * 2017-08-01 2020-11-04 Digital Asset (Switzerland) Gmbh PROCESS AND APPARATUS FOR AUTOMATIC COMMITTED PAYMENT OF DIGITAL GOODS
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质
EP3568826B1 (en) * 2018-12-29 2021-09-29 Advanced New Technologies Co., Ltd. System and method for information protection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160342978A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN108764874A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111047348A (zh) * 2019-11-08 2020-04-21 北京比特时刻图像科技有限公司 一种新型区块链共识算法及基于该算法的区块链网络系统
CN111275549A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 基于区块链的数字货币交易方法及相关装置
CN111275414A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 一种基于区块链的数字货币兑换方法、装置及系统
CN113595734A (zh) * 2020-07-03 2021-11-02 支付宝实验室(新加坡)有限公司 用于管理多个区块链网络中的交易的方法、系统和装置
CN113595734B (zh) * 2020-07-03 2023-10-31 支付宝实验室(新加坡)有限公司 用于管理多个区块链网络中的交易的方法、系统和装置

Also Published As

Publication number Publication date
TWI712306B (zh) 2020-12-01
CA3061789A1 (en) 2019-04-18
ZA201907229B (en) 2021-09-29
SG11201910095VA (en) 2019-11-28
EP3602956A4 (en) 2020-05-06
JP2020526053A (ja) 2020-08-27
WO2019072317A3 (en) 2019-12-12
AU2019202832A1 (en) 2020-08-13
MX2019012941A (es) 2019-12-16
US10990963B2 (en) 2021-04-27
PH12019502464A1 (en) 2020-07-13
US20190311351A1 (en) 2019-10-10
EP3602956B1 (en) 2021-01-27
JP6840268B2 (ja) 2021-03-10
BR112019022731A2 (pt) 2020-05-12
CA3061789C (en) 2021-01-26
PL3602956T3 (pl) 2021-07-26
ES2869166T3 (es) 2021-10-25
WO2019072317A2 (en) 2019-04-18
AU2019202832B2 (en) 2020-09-24
TW202031012A (zh) 2020-08-16
RU2736447C1 (ru) 2020-11-17
CN110366738B (zh) 2023-09-26
US20210312429A1 (en) 2021-10-07
EP3602956A2 (en) 2020-02-05
KR20200096722A (ko) 2020-08-13
KR102194078B1 (ko) 2020-12-24

Similar Documents

Publication Publication Date Title
CN110366738A (zh) 在区块链网络中的跨资产交易
KR102180991B1 (ko) 블록 체인 기밀 거래의 규제
TWI724460B (zh) 基於區塊鏈的事件處理方法及裝置、電子設備
US11270299B2 (en) Methods and systems of using a cryptocurrency system to manage payments and payment alternatives
US11494766B2 (en) Managing transactions on blockchain networks
JP2022119949A (ja) スマートコントラクトに基づく自動給与支払方法及びシステムをもたらす、ブロックチェーン上の給与支払に関連付けられた暗号通貨の効率的な転送のための方法及びシステム
CN110402561A (zh) 基于通用账户模型和同态加密的区块链数据保护
TWI709319B (zh) 基於區塊鏈的事件處理方法及裝置、電子設備
US11201742B2 (en) Blockchain-based trustable guarantees
CN110520884A (zh) 基于可信执行环境的链外智能合约服务
CN110520881A (zh) 使用区块链的安全数据记录分发的方法和系统
CN110337665A (zh) 用于信息保护的系统和方法
KR20180115764A (ko) 블록체인에서 교환을 구현하기 위한 토큰화 방법 및 시스템
US10984492B2 (en) Managing housing scores using smart contracts in blockchain networks
CN110383791A (zh) 基于区块链的地图应用众包
US10783590B1 (en) Mutual aid network based on smart contract and blockchain
US11580539B2 (en) Blockchain-based trustable guarantees
US11200570B2 (en) Blockchain-based trustable guarantees
US11182788B2 (en) Blockchain-based trustable guarantees
CN114424223A (zh) 可分割代币
WO2021060340A1 (ja) 取引情報処理システム

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016076

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant