CN113568946A - 用于管理多个区块链网络中的交易的方法、***和装置 - Google Patents
用于管理多个区块链网络中的交易的方法、***和装置 Download PDFInfo
- Publication number
- CN113568946A CN113568946A CN202110759006.7A CN202110759006A CN113568946A CN 113568946 A CN113568946 A CN 113568946A CN 202110759006 A CN202110759006 A CN 202110759006A CN 113568946 A CN113568946 A CN 113568946A
- Authority
- CN
- China
- Prior art keywords
- transaction
- htlc
- blockchain network
- transactions
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/407—Cancellation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
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)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Technology Law (AREA)
- Computational Linguistics (AREA)
- Marketing (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了用于管理区块链网络中的交易的方法、***和装置,其包括编码在计算机存储介质上的计算机程序。所述方法之一包括:识别第一区块链网络中的第一交易,第一交易是第一区块链网络中的第一哈希时间锁定合约(HTLC)交易;识别第二区块链网络中的第二交易,第二交易是第二区块链网络中的第二HTLC交易,第二区块链网络不同于第一区块链网络;确定第一HTLC交易的第一交易提交时间早于第二HTLC交易的第二交易提交时间,并且第一HTLC交易的第一秘密哈希值具有与第二HTLC交易的第二秘密哈希值相同的值;以及相应地确定第一HTLC交易与第二HTLC交易彼此相关联并且与跨链交易相关。
Description
技术领域
本文涉及用于管理多个区块链网络中的交易的方法、***和装置。
背景技术
分类账本通常用于记录诸如组织中的经济和金融活动等交易的历史记录。为了维护应用数据的准确历史记录,构建了具有类似分类账本功能的应用(例如,在关系数据库中创建的自定义审计表或审计跟踪)。然而,构建这样的应用非常耗时,而且容易出现人为错误。此外,由于关系数据库并非始终不变,因此对数据的任何更改都难以跟踪和验证。
分布式账本***(DLS)也可称为共识网络和/或区块链网络,使参与实体能够安全且不可变地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络的类型示例可以包括公有区块链网络、私有区块链网络和联盟区块链网络。联盟区块链网络针对选定的实体组群提供,该实体组群控制共识处理,并且所述联盟区块链网络包括访问控制层。
在一些情况下,用户在多个不同的区块链网络中进行交易。例如,原子交换(atomic swap)允许跨不同的区块链网络进行资产交易,而无需在此过程中使用中间方(或交换服务)。这些交易相互之间可能隐含着关联,但难以确定,这可能会给金融机构等实体在确定其客户的活动时造成问题。
因此,需要有效管理多个区块链网络中的交易,特别是识别多个区块链网络中的关联交易并导出相应的隐藏信息。
发明内容
所描述的主题的实施例可以单独或组合地包括一个或多个特征。
例如,在一个实施例中,一种用于管理多个区块链网络中的交易的计算机实现方法包括:由计算***识别第一区块链网络中的第一交易,所述第一交易是所述第一区块链网络中的第一哈希时间锁定合约(HTLC)交易;由所述计算***识别第二区块链网络中的第二交易,所述第二交易是所述第二区块链网络中的第二HTLC交易,所述第二区块链网络不同于所述第一区块链网络;由计算***确定所述第一HTLC交易的第一交易提交时间早于所述第二HTLC交易的第二交易提交时间,并且第一HTLC交易的第一秘密哈希值具有与第二HTLC交易的第二秘密哈希值相同的值;以及响应于确定所述第一交易提交时间早于所述第二交易提交时间并且所述第一秘密哈希值具有与所述第二秘密哈希值相同的值,由所述计算***确定所述第一区块链网络中的第一HTLC交易与所述第二区块链网络中的第二HTLC交易相关联,并且所述第一HTLC交易和所述第二HTLC交易与跨链交易相关。
在一些实施例中,这些一般和特定实施例中的一个或多个实施例可以使用设备、***、方法或计算机可读介质,或设备、***、方法和计算机可读介质的任何组合来实现。所描述的以上和其他实施例可以各自任选地包括以下实施例中的一个或多个:
在一些实施例中,所述计算机实现的方法还包括:由计算***确定第一交易中的第一到期时间长于第二交易中的第二到期时间和时间阈值的总和。确定第一区块链网络中的第一交易与第二区块链网络中的第二交易相关联是响应于确定第一到期时间长于第二到期时间和时间阈值的总和。
在一些实施例中,所述时间阈值至少部分地基于第一区块链网络的网络时间和第二区块链网络的网络时间之间的差来确定。
在一些实施例中,第一到期时间、第二到期时间、以及时间阈值被配置成使得在第一区块链网络中执行与第一HTLC交易对应的第四HTLC交易之前,在第二区块链网络中执行与第二HTLC交易对应的第三HTLC交易,第一HTLC交易和第四HTLC交易与第一区块链网络中的第一HTLC相关联,第二HTLC交易和第三HTLC交易与第二区块链网络中的第二HTLC相关联。
在一些实施例中,第一HTLC被配置成在第一到期时间之后放弃第一HTLC交易,使得第一HTLC交易中的转让值被退还,以及第二HTLC被配置成使得在第二到期时间之后放弃第二HTLC交易,使得第二HTLC交易中的转让值被退还。
在一些实施例中,所述计算机实现方法还包括:由计算***确定第一交易中的第一转让值和第二交易中的第二转让值之间的比率在比率范围内。确定第一区块链网络中的第一交易与第二区块链网络中的第二交易相关联是响应于确定第一转让值和第二转让值之间的比率在比率范围内。
在一些实施例中,第一区块链网络与第一货币相关联,第二区块链网络与第二货币相关联,并且比率范围通过第一货币和第二货币之间比率的变化来预定。
在一些实施例中,第一货币和第二货币之间比率的变化是在第一区块链网络中的第一交易的第一交易提交时间之前。
在一些实施例中,所述计算机实现方法还包括:由计算***识别第二区块链网络中的第三交易是第二区块链网络中的第三HTLC交易;由计算***确定所述第三HTLC交易的第三交易提交时间晚于所述第二HTLC交易的第二交易提交时间,并且所述第三HTLC交易的第三接收方地址与所述第二HTLC交易的第二接收方地址相同;由计算***确定第三HTLC交易中的证明的哈希值具有与第二HTLC交易的第二秘密哈希值相同的值;以及响应于确定第三交易提交时间晚于第二交易提交时间、第三接收方地址与第二接收方地址相同、并且第三HTLC交易中的证明的哈希值与第二HTLC交易的第二秘密哈希值相同,由计算***确定第三HTLC交易与第二HTLC交易相关联,并且第一、第二和第三HTLC交易与跨链交易相关。
在一些实施例中,所述计算机实现方法还包括:由计算***识别第一区块链网络中的第四交易,即第一区块链网络中的第四HTLC交易;由计算***确定第四HTLC交易的第四交易提交时间晚于第三HTLC交易的第三交易提交时间、第四HTLC交易的第四接收方地址与第一HTLC交易的第一接收方地址相同、以及所述第四HTLC交易中的证明与所述第三HTLC交易中的证明相同;以及响应于确定第四交易提交时间晚于第三交易提交时间、第四接收方地址与第一接收方地址相同、并且第四HTLC交易中的证明与第三HTLC交易中的证明相同,由计算***确定所述第四交易与所述第一交易、所述第二交易和所述第三交易相关联,并且所述第一交易、所述第二交易、所述第三交易和所述第四交易与所述跨链交易相关。
在一些实施例中,所述计算机实现方法还包括:由计算***基于第一、第二、第三和第四交易的关联从第一、第二、第三和第四交易的信息中导出跨链交易的隐藏信息。
在一些实施例中,第一交易和第二交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个,第三交易和第四交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,所述跨链交易的隐藏信息包括以下至少一个:第一方,具有第一交易的第一发送方地址或第三交易的第三发送方地址中的至少一个;第二方,具有第二交易的第二发送方地址或第四交易的第四发送方地址中的至少一个;交换,为第一交易的第一转让值和第二交易的第二转让值之间的交换;或交换率,其是第一交易中的第一转让值与第二交易中的第二转让值之间的比率。
在一些实施例中,所述跨链交易的隐藏信息包括:第一方具有第一发送方地址和第三发送方地址;第二方具有第二发送方地址和第四发送方地址;所述交换是所述第一转让值和所述第二转让值之间的交换;以及所述交换率是所述第一转让值和所述第二转让值之间的比率。
在一些实施例中,所述计算机实现方法包括:在用户界面上以可视化方式呈现第一、第二、第三和第四交易的信息;以及以可视化方式注释第一、第二、第三和第四交易的关联。
在一些实施例中,所述计算机实现方法包括:通过确定根据HTLC协议执行交易来确定所述交易是HTLC交易。
在一些实施例中,确定根据HTLC协议执行交易包括:确定所述交易的信息包括作为哈希锁的秘密哈希值和作为时间锁的到期时间,所述交易被配置为在到期时间之后被放弃,使得所述交易中的转让值被退还。
在一些实施例中,所述计算机实现方法包括:由计算***以数据结构呈现多个区块链网络中的交易的信息;通过由计算***连接交易关联信息,修改数据结构;以及由计算***基于经修改的数据结构确定与至少一个跨链交易的交易和隐藏信息相关的至少一个跨链交易。
在一些实施例中,多个区块链网络中的每个都与不同的对应货币相关联。
在另一实施例中,一种用于管理多区块链网络中的交易的计算机实现方法包括:由计算***识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一哈希时间锁定合约(HTLC)交易,所述第二区块链网络不同于所述第一区块链网络;由所述计算***识别所述第二区块链网络中的与所述第二区块链网络中的所述第二HTLC交易相关联的第三HTLC交易;由所述计算***识别所述第一区块链网络中的与第一、第二和第三HTLC交易相关联的第四HTLC交易,其中,所述第一、第二、第三和第四HTLC交易与跨第一区块链网络和第二区块链网络的跨链交易相关;以及由所述计算***,根据所述第一、第二、第三和第四HTLC交易的关联,从所述第一、第二、第三和第四HTLC交易的信息中提取所述跨链交易的隐藏信息。
在一些实施例中,这些一般和特定实施例中的一个或多个实施例可以使用设备、***、方法或计算机可读介质,或设备、***、方法和计算机可读介质的任何组合来实现。所描述的以上和其他实施例可以各自可选地包括以下实施例中的一个或多个:
在一些实施例中,第一交易和第二交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个,第三交易和第四交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,所述跨链交易的隐藏信息包括以下至少一个:跨链交易的第一方,其中,从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息,包括确定跨链交易的第一方具有第一HTLC交易的发送方地址或第三HTLC交易的发送方地址中的至少一个;跨链交易的第二方,其中,从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息,包括确定跨链交易的第二方具有第二HTLC交易的发送方地址或第四HTLC交易的发送方地址中的至少一个;跨链交易的交换,其中,从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息,包括确定跨链交易的交换为第一HTLC交易中的第一转让值和第二HTLC交易中的第二转让值之间的交换,或第一HTLC交易中的第一转让值与第二HTLC交易中的第二转让值之间的交换率。
在一些实施例中,所述跨链交易的隐藏信息包括:第一方具有第一HTLC交易的发送方地址和第三HTLC交易的发送方地址,第二方具有第二HTLC交易的发送方地址和第四HTLC交易的发送方地址,交换是第一转让值和第二转让值之间的交换,交换率是第一转让值和第二转让值之间的比率。
在一些实施例中,识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一HTLC交易,包括:确定第二HTLC交易的交易提交时间晚于第一HTLC交易的交易提交时间,以及确定第二HTLC交易的秘密哈希值具有与第一HTLC交易的秘密哈希值相同的值。
在一些实施例中,识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一HTLC交易,还包括以下至少一个:确定第一HTLC交易的到期时间长于第二HTLC交易的到期时间和时间阈值之和,或者确定第一交易的转让值和第二交易的转让值之间的比率在比率范围内。
在一些实施例中,第一区块链网络与第一货币相关联,第二区块链网络与第二货币相关联,并且比率范围通过第一货币和第二货币之间的比率的变化来预定。
在一些实施例中,第一货币和第二货币之间的比率的变化是在第一区块链网络中的第一HTLC交易的交易提交时间之前。
在一些实施例中,第一HTLC交易的到期时间、第二HTLC交易的到期时间以及时间阈值被配置成使得在第一区块链网络中执行与第一HTLC交易相关联的第四HTLC交易之前,在第二区块链网络中执行与第二HTLC交易相关联的第三HTLC交易。
在一些实施例中,时间阈值至少部分地基于第一区块链网络的网络时间和第二区块链网络的网络时间之间的差来确定。
在一些实施例中,识别第二区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第三HTLC交易,包括:确定第三HTLC交易的交易提交时间晚于第二HTLC交易的交易提交时间,确定第三HTLC交易的接收者地址与第二HTLC交易的接收者地址相同,并且确定第三HTLC交易中的证明的哈希值具有与第二HTLC交易的秘密哈希值相同的值。
在一些实施例中,识别第一区块链网络中的与第一、第二和第三HTLC交易相关联的第四HTLC交易,包括:确定第四HTLC交易的交易提交时间晚于第三HTLC交易的交易提交时间,确定第四HTLC交易中的证明与第三HTLC交易的证明相同,并且确定第四HTLC交易的接收方地址与第一HTLC交易的接收方地址相同。
在一些实施例中,所述计算机实现方法包括:通过确定根据HTLC协议执行交易来确定所述交易是HTLC交易。
在一些实施例中,确定根据HTLC协议执行交易,包括:确定所述交易的信息包括作为哈希锁的秘密哈希和作为时间锁的到期时间,所述交易被配置为在到期时间之后被放弃,使得所述交易中的转让值被退还。
在一些实施例中,所述计算机实现方法包括:在用户界面上以可视化方式呈现第一、第二、第三和第四HTLC交易的信息;以及以可视化方式注释第一、第二、第三和第四HTLC交易的关联。
在一些实施例中,所述计算机实现方法包括:由计算***以数据结构呈现在多个区块链网络中发布的交易的信息;由计算***连接交易之间的关联信息来修改数据结构;以及由计算***基于经修改的数据结构确定与所述交易相关的至少一个跨链交易和所述至少一个跨链交易的隐藏信息。
在一些实施例中,第一、第二、第三和第四HTLC交易在时间上顺序执行。
在一些实施例中,多个区块链网络中的每一个与不同的对应货币相关联。
在另一个实施例中,一种用于管理多个区块链网络中的交易的计算机实现方法包括:由计算***访问存储在多个区块链网络中的交易数据,所述交易数据包括在多个区块链网络中发布的交易,所述多个区块链网络彼此不同;基于在多个区块链网络中发布的交易,由计算***跨多个区块链网络识别多个跨链交易,所述多个跨链交易中的每一个都与在至少两个区块链网络上发布的相应交易组相关,所述相应交易组彼此相关联;由所述计算***基于所述相应交易组的关联,导出多个跨链交易中每个跨链交易的隐藏信息;以及由所述计算***基于所述多个跨链交易中的每个跨链交易的隐藏信息来导出所述多个跨链交易之间的隐藏信息。
在一些实施例中,这些一般和特定实施例中的一个或多个可以使用设备、***、方法或计算机可读介质,或设备、***、方法和计算机可读介质的任何组合来实现。所描述的以上和其他实施例可以各自可选地包括以下实施例中的一个或多个:
在一些实施例中,识别多个跨链交易,包括:通过识别与第一跨链交易相关的第一、第二、第三和第四哈希时间锁定合约(HTLC)交易,识别跨第一区块链网络和第二区块链网络的第一跨链交易,第一和第四HTLC交易位于区块链网络的第一区块链网络中,第二和第三HTLC交易位于区块链网络的第二区块链网络中;以及通过识别与第二跨链交易相关的第五、第六、第七和第八HTLC交易来识别跨第一区块链网络和第二区块链网络的第二跨链交易,第五和第八HTLC交易位于第一区块链网络中,第六和第七HTLC交易位于第二区块链网络中。
在一些实施例中,识别跨第一区块链网络和第二区块链网络的第一跨链交易,包括:识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一HTLC交易;识别第二区块链网络中与第二区块链网络中的第二HTLC交易相关联的第三HTLC交易;以及识别第一区块链网络中与第一、第二和第三HTLC交易相关联的第四HTLC交易。
在一些实施例中,识别跨第一区块链网络和第二区块链网络的第二跨链交易包括:识别第一区块链网络中的与第二区块链网络中的第六HTLC交易相关联的第五HTLC交易;识别第二区块链网络中的与第二区块链网络中的第六HTLC交易相关联的第七HTLC交易;以及识别第一区块链网络中的与第五、第六和第七HTLC交易相关联的第八HTLC交易。
在一些实施例中,第一、第二、第三和第四HTLC交易在时间上顺序执行,第五、第六、第七和第八HTLC交易在时间上顺序执行,第一、第五、第六、第七、第八、第二、第三和第四HTLC交易在时间上顺序执行。
在一些实施例中,基于相应交易组的关联来导出多个跨链交易中的每个跨链交易的隐藏信息包括:基于第一、第二、第三和第四HTLC交易的关联,从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息;以及基于第五、第六、第七和第八HTLC交易的关联从第五、第六、第七和第八HTLC交易的信息中导出第二隐藏信息。
在一些实施例中,第一、第二、第五和第六HTLC交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个,而第三、第四、第七和第八HTLC交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,第一跨链交易的第一隐藏信息包括以下至少一个:第一跨链交易的第一方,其中,从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息,包括确定第一跨链交易的第一方具有第一HTLC交易的第一发送方地址或第三HTLC交易的第三发送方地址中的至少一个;或第一跨链交易的第二方,其中,从第一、第二、第三和第四HTLC交易的信息导出所述跨链交易的第一隐藏信息,包括确定跨链交易的第二方具有第二HTLC交易的第二发送方地址或第四HTLC交易的第四发送方地址中的至少一个。
在一些实施例中,第二跨链交易的第二隐藏信息包括以下至少一个:第二跨链交易的第三方,其中,从第五、第六、第七和第八HTLC交易的信息中导出第二隐藏信息,包括确定第三跨链交易的第三方具有第五HTLC交易的第五发送方地址或第七HTLC交易的第七发送方地址中的至少一个;或第二跨链交易的第四方,其中,从第五、第六、第七和第八HTLC交易的信息导出第二隐藏信息,包括确定第二跨链交易的第四方具有第六HTLC交易的第六发送方地址或第八HTLC交易的第八发送方地址中的至少一个。
在一些实施例中,第一跨链交易的第一隐藏信息还包括以下至少一个:第一跨链交易的交换,其中,从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息,包括将第一跨链交易的交换确定为第一HTLC交易中的第一转让值和第二HTLC交易中的第二转让值之间的交换;或者第一跨链交易的交换率,其中,从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息,包括将第一跨链交易的交换率确定为第一HTLC交易中的第一转让值和第二HTLC交易中的第二转让值之间的比率。
在一些实施例中,第二跨链交易的第二隐藏信息还包括以下至少一个:第二跨链交易的交换,其中,从第五、第六、第七和第八HTLC交易的信息导出第二跨链交易的第二隐藏信息,包括将第二跨链交易的交换确定为第五HTLC交易中的第五转让值和第六HTLC交易中的第六转让值之间的交换;或者第二跨链交易的交换率,其中,从第五、第六、第七和第八HTLC交易的信息导出第二跨链交易的第二隐藏信息,包括将第二跨链交易的交换率确定为第五HTLC交易中的第五转让值和第六HTLC交易中的第六转让值之间的比率。
在一些实施例中,第一跨链交易的第一隐藏信息包括:第一方具有第一发送方地址和第三发送方地址,第二方具有第二发送方地址和第四发送方地址,所述交换是第一转让值和第二转让值之间的交换,交换率是第一转让值和第二转让值之间的比率。
在一些实施例中,第二跨链交易的第二隐藏信息包括:第三方具有第五发送方地址和第七发送方地址,第四方具有第六发送方地址和第八发送方地址,所述交换是第五转让值和第六转让值之间的交换,所述交换率是第五转让值和第六转让值之间的比率。
在一些实施例中,基于多个跨链交易中的每个跨链交易的隐藏信息导出多个跨链交易之间的隐藏信息包括:比较与第一、第二、第三和第四HTLC交易相关联的第一跨链交易的第一隐藏信息,和与第五、第六、第七和第八HTLC交易相关联的第二跨链交易的第二隐藏信息;确定第四HTLC交易的发送方地址与第一区块链网络中的第五HTLC交易的发送方地址相同,并且第二HTLC交易的发送方地址与第二区块链网络中的第七HTLC交易的发送方地址相同;以及确定第三方为第二方。
在一些实施例中,基于多个跨链交易中的每个跨链交易的隐藏信息导出多个跨链交易之间的隐藏信息还包括:比较第一、第二、第三和第四HTLC交易的信息以及第五、第六、第七和第八HTLC交易的信息;确定第一、第四、第五和第八HTLC交易的转让值彼此相同,并且第二、第三、第六和第七HTLC交易的转让值彼此相同;以及确定第二方是第一方与第四方之间的交易中间人,与第一方相关联的第一HTLC交易的转让值和与第四方相关联的第六HTLC交易的转让值进行交易。
在一些实施例中,第一和第二跨链交易的隐藏信息包括:第三方为第二方,并且是第一方与第四方之间的交易的中间人,所述交易是第一HTLC交易的转让值与第六HTLC交易的转让值之间的交换。
在一些实施例中,与多个跨链交易相对应的每个交易都是哈希时间锁定合约(HTLC)交易,并且所述计算机实现方法包括通过确定根据HTLC协议执行交易来确定所述交易是HTLC交易。
在一些实施例中,确定根据HTLC协议执行交易包括:确定交易的信息包括作为哈希锁的秘密哈希值和作为时间锁的到期时间,所述交易被配置为在到期时间之后被放弃,使得所述交易中的转让值被退还。
在一些实施例中,所述计算机实现方法包括:在用户界面上以可视化方式呈现在多个区块链网络中发布的交易的信息;以及以可视化方式注释交易的关联。
在一些实施例中,所述计算机实现方法包括:由计算***以数据结构呈现在多个区块链网络中发布的交易的信息;由计算***连接交易之间的关联信息来修改数据结构;由计算***根据数据结构确定与交易相关的多个跨链交易;由计算***基于数据结构导出多个跨链交易的隐藏信息;由计算***通过多个跨链交易的每个隐藏信息修改数据结构;以及由计算***基于数据结构导出多个跨链交易之间的隐藏信息。
本文还提供一个或多个非瞬态计算机可读存储介质,其耦接至一个或多个处理器并且其上存储有指令,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行根据本文提供的方法的实施例的操作。
本文进一步提供一种用于实现本文提供的方法的***。所述***包括一个或多个处理器和计算机可读存储介质,所述计算机可读存储介质耦接至所述一个或多个处理器并且其上存储有指令,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行根据本文提供的方法的实施例的操作。
应理解,根据本文的方法可以包括本文描述的方面和特征的任何组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,而且还包括所提供的方面和特征的任何组合。
本文的一个或多个实施例的详细信息在附图和下面的说明中阐述。本文的其他特点和优点将从说明和附图以及权利要求知晓。
附图说明
图1是示出可用于执行本文实施例的环境的示例的图示。
图2是示出根据本文实施例的架构示例的图示。
图3是示出根据本文实施例的跨多个区块链网络的跨链交易的示例的图示。
图4示出根据本文实施例的图3的跨链交易中的隐藏信息和已知信息的图示。
图5是示出根据本文实施例的跨多个区块链网络的多个跨链交易的示例的图示。
图6示出根据本文实施例的图5的多个跨链交易中的隐藏信息和已知信息的图示。
图7A是示出根据本文实施例可以由计算***执行的一个处理的示例的流程图。
图7B是示出根据本文实施例可由计算***执行的另一处理的示例的流程图。
图7C是示出根据本文实施例可以由计算***执行的又一处理的示例的流程图。
图8A描绘了根据本文实施例的一个装置的模块的示例。
图8B描绘了根据本文实施例的另一装置的模块的示例。
图8C描绘了根据本文实施例的又一装置的模块的示例。
各附图中同样的附图标记和标号表示同样的要素。
具体实施方式
本文描述了在多个区块链网络中管理交易的技术。这些技术通常涉及识别区块链网络中的关联交易并导出相应的隐藏信息。关联交易可以与跨至少两个区块链网络中的一个或多个跨链交易相关。例如,跨链交易可以是至少两个区块链网络上至少两方之间的交易或转让值。跨链交易可以与在两个或更多区块链网络中执行的多个区块链交易相关。跨链交易的隐藏信息可以包括区块链网络中的交易方及其关联账户、转让值之间的交换(例如,互换)和交换率。这些技术可以帮助金融机构或审计机构等实体更好地管理客户、用户或利益方的跨链交易,以更好地跟踪或监督其活动。
本文中所述技术产生了若干技术效果。在一些实施例中,本文中描述的技术包括执行数据挖掘以自动发现存储在一个或多个区块链网络中的已发布区块链交易的隐藏信息的算法和***。区块链交易(也简称为交易)可以包括区块链网络中区块链节点要执行的数据、指令或操作。例如,区块链交易可以由区块链网络的客户端设备或参与***生成。区块链节点可以接收区块链交易,对区块链交易执行共识处理,以及在达成共识之后,通过将区块链交易保存到区块链的区块中进行持久存储来发布区块链交易。在一些实施例中,所述算法和***可以对区块链网络中已发布的区块链交易执行数据挖掘,以识别所述区块链网络中的每个区块链网络中的底层关联区块链交易、与多个区块链网络之间的一个或多个跨链交易相关的交易、以及导出与所述跨链交易相关的隐藏信息。例如,本文中描述的技术可以对存储在多个区块链网络中的已发布交易数据执行数据挖掘,以识别跨链交易或原子交换,以确定发布的交易与/或多个跨链交易之间的关系、确定这些交易所涉及的各方及其关系、和/或确定这些交易中交换或互换的值和交换率。例如,如果爱丽丝和鲍勃在两个区块链网络(例如,以太坊(ETH)区块链网络和比特币(BTC)区块链网络)上执行原子交换,这些技术可以自动发现或以其他方式识别爱丽丝涉及在ETH区块链网络中的第一HTLC地址中存储30ETH的第一交易以及从BTC区块链网络中的第二HTLC地址取回3BTC的第三交易,鲍勃涉及在BTC区块链网络中的第二HTLC地址中存储3BTC的第二交易和从ETH区块链网络中的第一HTLC地址取回30ETHs的第四交易,交换为3BTC交换30ETH,1BTC的交换率为10ETH。
在一些实施例中,这些技术应用于在多链和/或多用户交易的场景中跟踪和监督资金流动。例如,区块链网络中关于资产(例如,加密货币或代币)进行的交易可能具有高度的匿名性和隐私要求,这使得金融机构很难执行了解您的客户(KYC)操作,例如,识别重复融资和相关内部交易,或者审计或管理机关审计资金流动和跟踪监督。随着多个区块链网络或侧链(或子链)网络的存在,这一问题变得更加严重。本文中描述的技术可以帮助这些实体或机构更好地跟踪多链和/或多用户交易。
在一些实施例中,本文中描述的技术可以对已发布的区块链交易执行数据挖掘,以确定例如在多个区块链网络中涉及哪些交易(例如,原子交换或跨链交易),这些交易的值是什么,与利益方交易的其他方是谁。
在一些实施例中,本文中描述的技术可应用于去中心化交易,例如原子交换或去中心化交换。传统的中心化交换易受黑客攻击,并且管理不善和政府监管不力,而可能无法处理大量需求。相比之下,原子交换或去中心化交换是从一方到另一方的点对点交换,不需要通过第三方服务,例如交换代理或机构(例如,货币交换代理)。在一些实施例中,本文中描述的技术可以检索区块链网络或分布式网络中发布或以其他方式存储的去中心化交易,基于去中心化交易之间的底层关系或关联对去中心化交易执行数据挖掘或其他分析,并从去中心化交易中导出隐藏信息,以帮助相应的实体或机构以更高效的方式自动和精简交易监控和管理。
在一些实施例中,本文中描述的技术可应用于哈希时间锁定合约(HTLC)交易,并有助于将HTLC交易的使用扩展到HTLC交易无法支持的应用或***。可以开发HTLC协议,以确保去中心化对等交易的各方不发生欺诈,使得可以在原子交换中成功完成去中心化交易。由于去中心化交易的各方不需要建立信任,因此HTLC为交易各方提供一定程度的保密。因此,交易的局外人可能难以知道区块链网络中发生的交易是相关的,这会限制HTLC实现的原子交换的使用,例如,在需要了解交易以对相应实体或机构进行监控和监管的情况下。本文中描述的技术可以在支持HTLC的原子交换或支持HTLC的跨链交易中获得隐藏信息。在一些实施例中,与区块链或分布式网络相关联的实体(例如,银行等金融机构)可允许其客户或用户使用支持HTLC的原子交换,而无需担心跟踪客户金融活动的困难。
在一些实施例中,本文中描述的技术可应用于两个或更多可提供交易数据访问的区块链网络。例如,区块链网络可包括基于区块链的账本***,例如联盟区块链网络、侧链(或子链)网络、私有区块链网络、公有区块链网络或其任何适当组合。两个或更多区块链网络可以彼此不同,例如,基于不同的区块链平台或技术实现,和/或可以支持不同的资产(例如,不同的加密货币或代币)。两个或更多区块链网络可以支持跨链交易,例如,通过使用适当的接口或中继来执行两个或更多区块链网络之间的操作或交互。在一些实施例中,本文中描述的技术可应用于多方(例如,2、3、4或更多方)跨多个区块链网络(例如,2、3、4或更多区块链网络)执行跨链交易的场景。本文中描述的技术可以导出与跨链交易相关、但在相应区块链网络中发布的交易隐藏的信息。例如,如果爱丽丝(爱丽丝)和鲍勃(鲍勃)在两个区块链网络上执行第一原子交换,而鲍勃和凯西(凯西)在同一个区块链网络上执行第二原子交换,则这些技术可以通过比较第一和第二原子交换的信息来自动发现或以其他方式识别鲍勃是爱丽丝和凯西的中间人。
在一些实施例中,本文中描述的技术可识别多个交易之间的关系或关联并将所述关系或识别的交易信息存储在图形、表格或其他数据结构中以更有效地访问或管理信息。在一些实施例中,本文中描述的技术可通过连接图形上的关联信息,在图形上或以其他可视化方式(例如在用户界面上)呈现所述关系或识别的交易信息,这有助于查看、审查和进一步分析交易并进一步提高对这些交易和识别的信息进行访问或管理的效率。
为了为本文的实施例提供进一步的背景,如上所述,分布式账本***(DLS)也可以称为共识网络(例如,由对等节点组成)和区块链网络,使参与实体能够安全地且不可变地进行交易和存储数据。尽管术语区块链通常与特定网络和/或用例相关联,但本文中区块链通常用于指代DLS,而不参考任何特定用例。
区块链是以交易不可变的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链包括一个或多个区块。链中的每个区块通过包含在链中紧邻其之前的前一区块的加密哈希值链接到该前一区块。每个区块还包括本地时间戳(例如,由生成区块的计算设备或管理区块链的计算***提供)、其自己的哈希值和一个或多个交易。例如,区块可以包括区块头和区块体。区块头可以包括本地时间戳、其自己的哈希值和前一个区块的哈希值。区块体可以包括支付信息,例如一个或多个交易(或交易数据)。已经被区块链网络中的节点验证的交易经哈希处理并编入默克尔(Merkle)树中。默克尔树是一种数据结构,其中树的叶子节点处的数据被哈希处理,并且在树的每个分支中的所有哈希值在分支的根部级联(concatenate)。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。通过确定声称是存储在树中的交易的哈希值是否与树的结构一致,可以快速验证该哈希值。
区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。如上所述,区块链网络可作为公有区块链网络、私有区块链网络或联盟区块链网络被提供。
通常,联盟区块链网络在参与的实体间是私有的。在联盟区块链网络中,共识处理由可被称为共识节点的授权的节点集控制,一个或多个共识节点由相应的实体(例如金融机构、保险公司)操作。例如,十(10)个实体(例如金融机构、保险公司)构成的联盟可以操作联盟区块链网络,每个实体操作联盟区块链网络中的至少一个节点。在一些示例中,在联盟区块链网络中,提供全局区块链作为跨所有节点复制的区块链。也就是说,所有的共识节点相对于全局区块链而言处于完全共识状态。为了达成共识(例如,同意向区块链添加一个区块),在联盟区块链网络内实施共识协议。例如,联盟区块链网络可以实现实用拜占庭容错(PBFT)共识,这将在下面进一步详细描述。
在一些实施例中,中心化账本***还可以采用区块链的数据结构,以利用存储在区块链上的数据的不变性、可靠性和可信性。在一些实施例中,这种中心化账本***可以被称为基于区块链的中心化账本***或通用可审计账本服务***。在一些实施例中,基于区块链的中心化账本***可包括中央可信机构,其提供存储在区块链数据结构的区块中的透明、不可变和加密可验证的数据。存储的数据可以是日志格式,例如不仅包括交易日志,还包括其他交易数据和区块数据。由于中央可信机构的存在,因此基于区块链的中心化账本***不需要执行共识过程来建立信任。在一些实施例中,与典型的基于区块链的分布式或分去中心化账本***相比,基于区块链的中心化账本***可以更有效。在一些实施例中,基于区块链的中心化账本***可以以增强的信任、效率和存储性能提供基于云的存储服务。
在一些实施例中,中心化账本***可以是区块链网络的节点。例如,中心化账本***可以是区块链网络中的非共识节点并可为区块链网络中的共识节点或其他非共识节点或区块链网络之外的实体提供高度可靠和高性能可审计流式账本服务。
图1是示出可以用于执行本文实施例的环境100的示例的示图。在一些示例中,环境100使实体能够参与至联盟区块链网络102中。环境100包括计算***106、108和网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端***。在一些示例中,可以通过有线和/或无线通信链路访问网络110。在一些示例中,网络110使得与联盟区块链网络102通信以及在联盟区块链网络102之内通信成为可能。通常,网络110代表一个或多个通信网络。在一些情况下,计算***106、108可以是云计算***(未示出)的节点,或者计算***106、108中的每个可以是单独的云计算***,其包括通过网络互连并且用作分布式处理***的多个计算机。
在所描绘的示例中,计算***106、108可各自包括能够作为节点参与至联盟区块链网络102中的任何适当的计算***。示例性计算***包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备及智能电话。在一些示例中,计算***106、108承载用于与联盟区块链网络102交互的一个或多个由计算机实现的服务。例如,计算***106可以承载第一实体(例如用户A)的由计算机实现的服务,例如第一实体用来管理其与一个或多个其他实体(例如其他用户)的交易的交易管理***。计算***108可以承载第二实体(例如用户B)的由计算机实现的服务,例如第二实体用来管理其与一个或多个其他实体(例如其他用户)的交易的交易管理***。在图1的示例中,联盟区块链网络102被表示为节点的点对点网络,并且计算***106、108分别提供参与联盟区块链网络102的第一实体和第二实体的节点。
图2为示出根据本文实施例的架构200的示例的图示。示例性概念架构200包括分别对应于参与者A、参与者B和参与者C的参与者***202、204、206。每个参与者(例如,用户、企业)参与到作为点对点网络提供的区块链网络212中,该点对点网络包括多个节点214,至少一些节点将信息不可变地记录在区块链216中。如本文进一步详述,尽管在区块链网络212中示意性地描述了单个区块链216,但是在区块链网络212上提供并维护了区块链216的多个副本。
在所描绘的示例中,每个参与者***202、204、206分别由参与者A、参与者B和参与者C提供或代表参与者A、参与者B和参与者C,并且在区块链网络中作为各自的节点214发挥作用。如这里所使用的,节点通常是指连接到区块链网络212且使相应的参与者能够参与到区块链网络中的个体***(例如,计算机、服务器)。在图2的示例中,参与者与每一个节点214相对应。然而,可以预期,一个参与者可以操作区块链网络212内的多个节点214,和/或多个参与者可以共享一个节点214。在一些示例中,参与者***202、204、206使用协议(例如,超文本传输安全协议(HTTPS))和/或使用远程过程调用(RPC)与区块链网络212通信,或通过区块链网络212通信。
节点214可以在区块链网络212内具有不同的参与程度。例如,一些节点214可以参与共识处理(例如,作为将区块添加到区块链216的挖矿节点),而其他节点214不参与此共识处理。作为另一示例,一些节点214存储区块链216的完整的副本,而其他节点214仅存储区块链216的一部分的副本。例如,数据访问特权可以限制相应的参与者在其相应***内存储的区块链数据。在图2的示例中,参与者***202、204和206分别存储区块链216的完整副本216',216”和216”'。
区块链(例如,图2的区块链216)由区块的链组成,每个区块存储数据。数据的示例包括表示两个或更多参与者之间的交易的交易数据。交易数据用作存储在区块链中的数据记录的示例。交易的示例包括但不限于交换有价值的东西(例如,资产、产品、服务、货币)。在一些实施例中,在账本***中执行的一个或多个操作可以作为交易数据存储在区块链中。例如,交易数据可以包括存储在块链中的数据的一个或多个操作或操纵、从外部资源获得的信息(例如,时间戳信息)、或者可以存储在区块链中的任何适当数据(例如,文档、图像、视频、音频)。交易数据不可变地存储在区块链中。也就是说,不能更改交易数据。
在将交易数据存储在区块中之前,对交易数据进行哈希处理。哈希处理是将交易数据(作为字符串数据提供)转换为固定长度的哈希值(也以作为字符串数据提供)的处理。不可能对哈希值进行去哈希处理以获取交易数据。哈希处理可确保即使交易数据轻微改变也会导致完全不同的哈希值。此外,如上所述,哈希值具有固定长度。也就是说,无论交易数据的大小如何,哈希值的长度都是固定的。哈希处理包括通过哈希函数处理交易数据以生成哈希值。哈希函数的示例包括但不限于输出256位哈希值的安全哈希算法(SHA)-256。
多个交易的交易数据被哈希处理并存储在区块中。例如,提供两个交易的哈希值,并对它们本身进行哈希处理以提供另一个哈希值。重复此过程,直到针对所有要存储在区块中的交易提供单个哈希值为止。该哈希值被称为Merkle根哈希值,并存储在区块头中。任何交易中的更改都会导致其哈希值发生变化,并最终导致Merkle根哈希值发生变化。
通过共识协议将区块添加到区块链。区块链网络中的多个节点参与共识协议,并执行工作以将区块添加到区块链。此类节点称为共识节点。上面介绍的PBFT用作共识协议的非限制示例。共识节点执行共识协议以向区块链添加交易,并且更新区块链网络的整体状态。
更详细而言,共识节点生成区块头,对区块中的所有交易进行哈希处理,并将哈希值成对地组合以生成进一步的哈希值,直到为区块中的所有交易提供单个哈希值(Merkle根哈希值)为止。将此哈希值添加到区块头中。共识节点还确定区块链中最新区块(即添加到区块链中的最后一个区块)的哈希值。共识节点还向区块头添加随机数值(nonce value)和时间戳。
通常,PBFT提供容忍拜占庭错误(例如,故障节点、恶意节点)的实用拜占庭状态机复制。这通过在PBFT中假设将发生故障(例如,假设存在独立节点故障和/或由共识节点发送的***纵的消息)来实现。在PBFT中,以包括主共识节点和备共识节点的序列提供共识节点。主共识节点被周期性改变。主共识节点被周期性地改变,通过区块链网络内的所有共识节点对区块链网络的全局状态达成一致,将交易添加到区块链中。在该处理中,消息在共识节点之间传输,并且每个共识节点证明消息是从指定的对等节点接收的,并验证在交易期间消息未篡改。
在PBFT中,共识协议是在所有共识节点始于相同状态的情况下分多个阶段提供的。首先,客户端向主共识节点发送用以调用服务操作(例如,在区块链网络内执行交易)的请求。对接收到请求做出响应,主共识节点将请求组播到备共识节点。备共识节点执行该请求,并且每个节点都向客户端发送回复。客户端等待直到接收到阈值数量的回复。在一些示例中,客户端等待直到接收f+1个回复,其中f是区块链网络内可以容忍的故障共识节点的最大数量。最终结果是,足够数量的共识节点就将添加到区块链的记录的顺序达成一致,并且该记录或者被接受或者被拒绝。
在一些区块链网络中,用密码学来维护交易的隐私。例如,如果两个节点想要保持交易隐私,以使得区块链网络中的其他节点不能看出交易的细节,则这两个节点可以对交易数据进行加密处理。加密的示例包括但不局限于对称加密和非对称加密。对称加密是指使用单个密钥既加密(从明文生成密文)又解密(从密文生成明文)的加密处理。在对称加密中,同一密钥可用于多个节点,因此每个节点都可以对交易数据进行加密/解密。
非对称加密使用密钥对,每个密钥对包括私钥和公钥,私钥仅对相应的节点已知,并且公钥对于区块链网络中的任何或者所有其它节点已知。节点可以使用另一个节点的公钥来加密数据,并且该加密的数据可以使用其他节点的私钥被解密。例如,再次参考图2,参与者A可以使用参与者B的公钥来对数据进行加密,并将加密数据发送给参与者B。参与者B可使用其私钥来对该加密数据(密文)进行解密并提取原始数据(明文)。使用节点的公钥加密的消息只能使用该节点的私钥解密。
非对称加密用于提供数字签名,这使得交易中的参与者能够确认交易中的其他参与者以及交易的有效性。例如,节点可以对消息进行数字签名,而另一个节点可以根据参与者A的该数字签名来确认该消息是由该节点发送的。数字签名也可以用于确保消息在传输过程中不被篡改。例如,再次参考图2,参与者A向参与者B发送消息。参与者A生成该消息的哈希值,然后使用其私钥对该哈希值进行加密,以提供作为加密哈希值的数字签名。参与者A将该数字签名附加到该消息上,并将该具有数字签名的消息发送给参与者B。参与者B使用参与者A的公钥解密该数字签名,并提取哈希值。参与者B对该消息进行哈希处理并比较哈希值。如果哈希值相同,参与者B可以确认该消息确实来自参与者A,且未被篡改。
在一些情况下,各方可以在多个区块链网络(例如以太坊(ETH)区块链网络和比特币(BTC)区块链网络)中进行相互不同和独立的交易。各方可以是参与者***202、204或206的用户或客户端。各方可以使用客户端设备(例如,计算机等计算***)通过参与者***在区块链网络中进行交易。这些交易可以包括对数字资产的转移、支付、管理或其他类型的操作。
在一些例子中,原子交换允许两个独立区块链网络上的资产(如货币、加密货币和/或代币)进行原子跨链交易而无需依赖第三方信托背书。术语“原子”意味着交易在没有第三状态的情况下会成功或失败。例如,爱丽丝和鲍勃想要交换一定数量的加密货币a和加密货币B。在不使用集中交换的情况下,爱丽丝和鲍勃双方首先需要就两种加密货币的兑换率(或交换率)达成一致,然后通过原子交换,爱丽丝向鲍勃发送A,鲍勃向爱丽丝发送B。然而,区块链网络上的交易是不可逆转的。在没有集中背书的情况下,不同区块链网络中的交易涉及到顺序问题。例如,如果爱丽丝先将A的数量发送给鲍勃,则爱丽丝处于不利地位,因为她不确定鲍勃是否会按照约定将B的数量发送给她。
为了确保去中心化的点对点交易能够成功完成,例如在原子交换中,可以开发一种机制或协议,例如哈希时间锁定合约(HTLC)协议,以确保任何一方都不会发生欺诈。HTLC协议可以配置为使用哈希和时间锁定给定交易,并且仅在满足指定条件时执行交易。例如,HTLC协议可以使用一个或多个哈希锁和时间锁来要求交易的各方执行特定操作;否则,交易将无法完全执行,或交易的部分已执行操作可能被回滚或没收。在一些实施例中,HTLC协议可以将可赎回秘密的哈希值定义为哈希锁,将到期时间定义为时间锁。在一些实施例中,根据HTLC协议或以其他方式基于HTLC协议的交易(也称为HTLC交易)可通过区块链网络中的预部署智能合约来实现,以允许各方在到期时间内对可赎回秘密执行其各自的操作。作为HTLC交易的示例,可在付款人(例如,支付的发送者)和受款人(例如,支付的接收者)之间建立支付渠道。受款人可能需要在时间锁定义的截止日期之前执行某些操作(例如,解锁哈希锁以通过生成加密支付证明来确认收到支付)。否则,受款人将丧失索取付款的能力,付款将退还给付款人。付款人可以在时间锁定义的到期时间之后获得退款。HTLC协议可用于双向和路由支付通道。
没有第三方信托背书和/或在多个区块链网络中的交易可以隐含地相互关联,而无需从每个交易中明确识别或容易识别,这可能会导致金融机构等实体执行KYC操作的问题,例如,重复融资及相关内部交易。当使用算法或协议(如HTLCs)对跨链交易(如交换交易)执行操作时,也可能存在这些问题。在一些例子中,交换交易是两个实体之间的相互转让值,其结果是其中一个实体通过交出其他资产或服务或承担其他义务来获得资产或服务或清偿债务。在某些示例中,掉期交易是交换两种金融负债的合约,可以包括利率掉期、基差掉期、货币掉期、通货膨胀掉期、信用违约掉期、商品掉期、股权掉期和/或任何其他类型的掉期。
在一些实施例中,识别区块链网络中的重叠或匹配地址可用于识别关联交易。然而,很难识别跨链交易,例如针对交换交易的HTLC交易。除了提供交易的原子性,HTLC还为交易双方提供一定程度的保密性,因为交易双方不需要建立信任。因此,交易的局外人(或外部方)可能不知道发生在两个区块链网络上的交易是相关的。
本文的实施提供了在多个区块链网络中管理交易的技术,特别是,用于识别区块链网络中的关联交易和跨区块链网络的相关跨链交易,并基于关联交易导出跨链交易的隐藏信息。这些技术可用于多方(例如,2、3、4或更多方)跨多个区块链网络(例如,2、3、4或更多区块链网络)执行一个或多个跨链交易。为了说明的目的,在下面,图。3和4是关于双方(爱丽丝和鲍勃)和两个区块链网络(ETH和BTC区块链网络)描述的;无花果。5和6是关于三方(爱丽丝、鲍勃和凯西)和两个区块链网络(ETH和BTC区块链网络)的描述。当事人可以有不同的名称或注解。区块链网络可以包括任何其他类型的区块链网络。
图3是示出根据本说明书实施例的跨多个区块链网络的跨链交易的示例300的图。每个区块链网络可以是图1的区块链网络102或图2的区块链网络212。区块链网络可以不同并且彼此独立。在一些实施例中,区块链网络是基于相同或不同区块链平台的不同区块链网络实例。例如,如图3所示,区块链网络包括以太坊(ETH)区块链网络310和比特币(BTC)区块链网络320。每个区块链网络可以支持相应类型的资产或价值(例如,相应的货币(或加密货币),例如用于区块链网络310的ETH和用于区块链网络320的BTC。
在一些实施例中,跨链交易可在双方302和304(例如,爱丽丝和鲍勃)之间进行。各方可以是区块链网络的参与者***的用户(或客户端),例如图2的参与者***202、204或206。参与者***可作为区块链网络310或320的网络节点,例如图2的节点214。用户可以使用客户端设备,例如计算设备,通过参与者***与区块链网络进行通信。
一方可以在一个或多个区块链网络310和320中拥有各自的账户(或账户地址)。例如,爱丽丝可以在ETH区块链网络310中拥有一个唯一的ETH账户,在BTC区块链网络320中拥有一个唯一的BTC账户。鲍勃也可以在ETH区块链网络310中拥有一个唯一的ETH账户,在BTC区块链网络320中拥有一个唯一的BTC账户。爱丽丝可以在她的ETH账户中持有多个ETH,鲍勃可以持有多个BTC在他的BTC账户里。
举例来说,假设爱丽丝希望根据HTLC协议与鲍勃交易一定数量的ETH,例如30ETH,以换取BTC,例如3BTC,图3示出了作为用于跨ETH区块链网络310和BTC区块链网络320执行爱丽丝和鲍勃之间的跨链交易的过程的示例的过程330。
在一些实施例中,可以在ETH区块链网络310和BTC区块链网络320中的每一个中创建和延迟用于根据HTLC生成和管理交易的智能合约(也称为HTLC交易)。智能合约也可以称为HTLC智能合约。在一些实施例中,HTLC智能合约可由区块链网络的管理员、交易的一方或多方或另一适当实体创建和发起。
在一些实施例中,区块链网络的网络节点(例如,参与者***)可以向区块链网络发送包含关于创建智能合约的信息的交易。区块链网络的每个网络节点都可以执行交易。例如,对于以太坊(ETH)区块链网络,以太坊区块链网络的每个网络节点都可以运行以太坊虚拟机(EVM)。EVM是一个图灵完备的虚拟机,通过它可以实现各种类型的复杂逻辑。以太坊区块链网络中的用户发布和调用的智能合约可以在EVM上运行。在一些实施例中,EVM直接运行虚拟机代码(虚拟机字节码,也称为字节码),并且部署在区块链网络上的智能合约可以包括字节码或任何其他类型的代码。
在节点之间通过共识机制达成协议后,可成功创建智能合约。与智能合约对应的合约账户可出现在区块链上,并具有特定地址。例如,区块链网络的每个网络节点都可以拥有创建的合约账户的地址。智能合约的行为可以由写在智能合约中的代码控制,并且智能合约的状态也可以被存储,例如,存储在合约账户的存储器中。换言之,智能合约允许在区块链上生成虚拟账户,其包括用于记录智能合约状态的账户的代码和存储。在创建智能合约后,用户可调用或以其他方式调用智能合约以执行智能合约中定义的功能,例如,通过发起指向智能合约账户地址的交易。每个网络节点的EVM可分别执行交易,使得智能合约代码可分布式地运行在区块链网络中每个网络节点的虚拟机上。
在一些实施例中,HTLC智能合约可以包括计算机可执行代码,这些代码提供诸如创建HTLC(例如,通过指定哈希锁、时间锁或HTLC的其他参数或条件)、根据HTLC创建HTLC交易、验证交易是否为HTLC交易、基于在相应的HTLC中指定的条件确定是否执行HTLC交易、执行HTLC交易等功能。在一些实施例中,第一HTLC智能合约可以部署在ETH区块链网络310中,并且第二HTLC合约可以部署在BTC区块链网络320中。ETH区块链网络310(例如,与爱丽丝相关联)的参与者***可以通过发起具有ETH区块链网络310中的第一HTLC智能合约的地址的交易来调用HTLC交易以调用第一HTLC智能合约中定义的任何函数。BTC区块链网络320(例如,与鲍勃相关联)的参与者***可通过发起具有BTC区块链网络320中的第二HTLC智能合约的地址的交易来调用另一HTLC交易以调用第二HTLC智能合约中定义的任何函数。
作为示例,首先,在步骤331,爱丽丝可以使用她的客户端设备,例如,通过参与者***,创建一个秘密,然后基于哈希函数计算该秘密的哈希值,其中,H=哈希(秘密)。哈希函数可以由爱丽丝选择。例如,哈希函数可以是SHA256。秘密和秘密的哈希值可用于创建HTLC的哈希锁。
然后,在步骤332,爱丽丝可以使用客户端设备在ETH区块链网络310中执行交易(TX)TX1。在TX1中,爱丽丝可以使用ETH区块链网络310中的第一HTLC智能合约的地址调用第一HTLC智能合约,以初始化第一HTLC智能合约的参数。例如,可以将秘密哈希值H设置为哈希锁以作为第一HTLC的输出。可以为第一HTLC配置条件,其中,知道该秘密的人可以使用该秘密作为证明来获得第一HTLC中的H值,以从爱丽丝获得待转让值。例如,爱丽丝将待转让值设置为30ETHs,并将30ETHs发送到第一HTLC智能合约的账户地址。爱丽丝还可以将到期时间t1设置为第一HTLC中哈希锁的时间锁。也就是说,在到期时间内,提供秘密作为证明的任何人都可以获得TX1中的待转让值,例如,存储在第一HTLC智能合约地址处的30ETH。如果在到期时间内该秘密未被提供至第一HTLC作为证明,则TX1可以被放弃,并且待转让值被退还给爱丽丝,例如,退还至她在ETH区块链网络310中的ETC账户。在一些实施例中,到期时间t1可例如作为默认或可配置的时间段。在一些实施例中,到期时间t1可被配置为对应于由ETH区块链网络310或基于另一事件或时间单位生成的区块的数目。
在一些实施例中,为了使只有经授权或指定的实体(例如,鲍勃)才能使用该秘密获取转让值,爱丽丝可以创建加密的数字锁箱,该数字锁箱只能由该秘密和指定实体的唯一密钥(例如,签名或其他唯一标识)打开。也就是说,爱丽丝可以设置第一HTLC,使得只有鲍勃才能打开爱丽丝的锁箱。在一些实施例中,如果交易过程中存在问题或者指定实体突然退出并且锁箱未在约定时间(例如,到期时间)内打开,则存储在锁箱中的转让值将被退还给爱丽丝。
在一些示例中,HTLC可以如下实现:
其中,EQUALVERIFY实现哈希锁,CHECKLOCKTIMEVERIFY实现时间锁,CHECKSIG实现指定实体的签名的需求。
知道可以使哈希值等于H的相应秘密的任何人都可以通过调用IF语句的第一条来赎回输出。如果该秘密未被揭示,则HTLC中规定,在由时间锁定义了一定数量的区块后,收款人可以使用IF语句中的第二条要求退款。这是使用脚本实现HTLC的示例。HTLC可以使用其他函数、语言或逻辑来实现。持有秘密的任何人都可以赎回这种类型的HTLC。通过修改脚本,HTLC可以不同的形式实现。例如,在第一条中添加CHECKSIG运算符和公钥以限制哈希值到指定接收方的转换。这个接收方必须知道该秘密。
在爱丽丝在ETH区块链网络310中执行HTLC锁交易TX1之后,交易TX1在ETH区块链网络310中发布,并且第一HTLC(HTLC1)正在等待证明。交易TX1的信息可在ETH区块链网络310中发布(或公开)并可由例如ETH区块链网络310中的网络节点或参与者***、或其他授权用户或客户端访问。在一些实施例中,交易信息可包括例如发送方地址(例如,爱丽丝的ETH账户地址)、接收方地址(例如,ETH区块链网络310中的第一HTLC地址)、转让值(例如,30ETH)、交易提交时间(例如,当TX1被执行时)、秘密哈希值(例如,H)和/或到期时间。到期时间可以从TX1的交易提交时间开始计算。
在333,爱丽丝将秘密哈希值H传送给鲍勃。在334处,例如,通过调用部署在BTC区块链网络320中的第二HTLC智能合约,鲍勃使用接收到的秘密哈希值H在BTC区块链网络320中创建与爱丽丝创建的第一HTLC相对应的第二HTLC。鲍勃可以根据第二HTLC发起交易TX2。在一些实施例中,鲍勃可以将接收到的秘密哈希值H设置为第二HTLC的哈希锁,将另一个到期时间t2设置为时间锁,并在BTC区块链网络320中的第二HTLC智能合约的相应账户地址中存储相应数量的BTC,例如3BTC,第二HTLC也可以被加密,使得第二HTLC只能用爱丽丝的签名打开。第二HTLC可以配置为,如果爱丽丝没有在到期时间t2内提供证明和爱丽丝签名(可选),则交易TX2将被放弃,TX2中的转让值将被退还至鲍勃的BTC账户。
在一些实施例中,到期时间t2可以例如作为默认或可配置的时间段。在一些实施例中,到期时间t2可对应于由BTC区块链网络320或基于另一事件或时间单位生成的区块的数目。到期时间t2可以短于到期时间t1,使得在鲍勃可以从ETH区块链网络310中的第一HTLC地址获取该数目的ETH之前爱丽丝可以从BTC区块链网络320中的第二HTLC地址获取该数目的BTC。在一些示例中,到期时间t1长于到期时间t2与时间阈值之和。在一些实施例中,可以至少部分地基于ETH区块链网络310的网络时间和BTC区块链网络320的网络时间之间的差来确定时间阈值。
在一些实施例中,存储在ETH HTLC中的TX1中的转让值(例如,30ETH)和存储在BTCHTLC中的TX2中的转让值(例如,3BTC)可以由爱丽丝和鲍勃预先确定或协商。爱丽丝和鲍勃可以基于ETH区块链网络310和BTC区块链网络320中ETH货币和BTC货币之间的交换率来确定交换率(或比率)。在一些实施例中,交换率可以是爱丽丝开始与鲍勃交易之前,即TX1的交易提交时间之前的交换率。在一些实施例中,交换率可以是双方同意的另一比率(例如,在另一时间实例或基于另一标准)。
在鲍勃在BTC区块链网络320中执行HTLC锁交易TX2之后,交易TX2在BTC区块链网络320中发布,并且第二HTLC正在等待证明。交易TX2的信息可以被发布(或公开)并且可以在BTC区块链网络320中被访问。在一些实施例中,该信息可以包括例如发送方地址(例如,鲍勃的BTC账户地址)、接收方地址(例如,BTC区块链网络320中的第二HTLC地址)、转让值(例如,3BTC)、交易提交时间(例如,当TX2被执行时)、秘密哈希值(例如,H)和/或到期时间(例如,TX2)。到期时间可以从TX2的交易提交时间开始计算。
在步骤335,爱丽丝通过提供秘密作为执行第二HTLC的证明来发起交易TX3。秘密在BTC区块链网络320中被揭示。一旦第二HTLC的条件被满足(例如,哈希锁被秘密解锁),在步骤336,第二HTLC被执行,并且爱丽丝接收存储在第二HTLC中的TX2中的转让值(例如,3BTC)。
交易TX3的信息可以在BTC区块链网络320中发布(或公开)和访问。在一些实施例中,所述信息可以包括例如发送方地址(例如,爱丽丝的ETH账户地址)、接收方地址(例如,BTC区块链网络320中的第二HTLC地址)、交易提交时间(例如,当TX3被执行时)和/或证明(例如,秘密)。在一些实施例中,所述信息还可以包括转让值(例如,从第二HTLC地址接收的值3BTC)。
由于秘密在BTC区块链网络320中被揭示,因此鲍勃知道该秘密并在步骤337通过提供该秘密作为在ETH区块链网络310中执行第一HTLC的证明来发起交易TX4。一旦第一HTLC的条件被满足(例如,哈希锁被该秘密解锁),在步骤338,执行第一HTLC,并且鲍勃接收TX1中存储在第一HTLC中的转让值,例如30ETH。
交易TX4的信息可在ETH区块链网络310中发布(或公开)并可访问。所述信息可包括例如发送方地址(例如,鲍勃的BTC账户地址)、接收方地址(例如,ETH区块链网络310中的第一HTLC地址)、交易提交时间(例如,当TX4被执行时)和/或证明(例如,秘密)。在一些实施例中,所述信息还可以包括转让值(例如,从第一HTLC地址接收的值30ETH)。
爱丽丝和鲍勃之间的转让值在没有第三方背书的情况下完成。爱丽丝和鲍勃之间也不需要相互信任来执行处理330。如果爱丽丝不能在到期时间TX2内执行第二HTLC,鲍勃可以获得退还的TX2中的转让值。如果鲍勃不能在到期时间TX1内执行第一HTLC,爱丽丝可以获得退还的TX1中的转让值。
图4为示出根据本文实施例的与图3的跨链交易相关的已知信息和隐藏信息的图示400。图3的跨链交易的示例是爱丽丝和鲍勃之间通过ETH区块链网络310和BTC区块链网络320的资产交换。如关于图3所述,所述跨链交易与图3中的四个交易TX1、TX2、TX3和TX4相关。交易TX1和TX4与ETH区块链网络310中的第一HTLC相关联。交易TX2和TX3与BTC区块链网络320中的第二HTLC相关联。由于BTC区块链网络320不同并且可以从ETH区块链网络310独立操作,因此确定这些交易之间的关系可能有挑战性。
本文的实施方式提供了用于例如基于两个不同区块链网络中已发布交易的可访问信息和HTLC协议的特征识别这些交易之间的关系和进一步识别爱丽丝和鲍勃之间的跨链交易并导出跨链交易的隐藏信息的技术。例如,根据HTLC协议,根据HTLC协议进行跨链交易的双方可访问HTLC数据,例如,秘密或锁定资产的证明。所描述的技术可识别相关的已发布交易及其底层的相关跨链交易,例如,基于HTLC数据和HTLC协议的特征,诸如哈希锁的到期时间(或过期时间)与一方可以收回自己资产的时间之间的时间差,使得该方可在另一方单方面作弊时及时收回其资产。此外,对于HTLC,无论原子交换成功与否,在与HTLC或原子交换相关的区块链网络中可发布2到4个交易。
在区块链网络中执行交易后,该交易的信息在区块链网络中发布并可用,其可被区块链网络的用户访问和了解。作为图4所示的示例,TX1的信息可以包括发送方地址(例如,爱丽丝的ETH账户地址)、接收方地址(例如,ETH区块链网络310中的第一HTLC地址)、转让值(例如,30ETH)、交易提交时间(例如,当TX1被执行时)、秘密哈希值(例如,H)和/或到期时间,例如t1。TX2的信息可以包括发送方地址(例如,鲍勃的BTC账户地址)、接收方地址(例如,BTC区块链网络320中的第二HTLC地址)、转让值(例如,3BTC)、交易提交时间(例如,当TX2被执行时)、秘密哈希值(例如,H)和/或到期时间(例如,tx2)。TX3的信息可以包括发送方地址(例如,爱丽丝的ETH账户地址)、接收方地址(例如,BTC区块链网络320中的第二HTLC地址)、交易提交时间(例如,当TX3被执行时)、证明(例如,秘密)和/或转让值(例如,从第二HTLC地址接收的值3BTC)。TX4的信息可以包括发送方地址(例如,鲍勃的BTC账户地址)、接收方地址(例如,ETH区块链网络310中的第一HTLC地址)、交易提交时间(例如,当TX4被执行时)、证明(例如,秘密)和/或转让值(例如,从第一HTLC地址接收的值30ETH)。
已发布交易的可访问信息可用于识别交易的关系,例如,通过根据若干标准挖掘或以其他方式检索、搜索和分析区块链网络中的区块链数据。如果相关交易符合一个或多个标准,则可以确定相关交易。
例如,对于TX1和TX2,TX2的交易提交时间晚于TX1的交易提交时间,并且根据HTLC协议,TX2中的秘密哈希值与TX1的秘密哈希值相同。另外,根据HTLC协议,TX1的到期时间t1长于TX2的到期时间t2和时间阈值之和,所述时间阈值至少部分基于ETH和BTC区块链网络之间的网络时差,使得TX3在TX4之前执行。此外,由于原子交换用于等价交换,TX1中的转让值(例如,30ETH)和TX2中的转让值(例如,3BTC)之间的比率与交换率(例如,ETH和BTC货币之间的交换率)有关。在一些实施例中,爱丽丝和鲍勃可以在执行TX1之前协商交换,并且所述比率可以为例如在执行TX1之前的官方或公共交换率,在识别相关交易时可以被查找或确定。在一些实施例中,比率范围可用于过滤或以其他方式识别转让值之间的比率落入比率范围的交易。在一些实施例中,比率范围可以取决于所转让值的货币之间的交换率变化(例如,ETH和BTC)。
对于TX2和TX3,TX3的交易提交时间晚于TX2的交易提交时间。由于TX2和TX3与相同的第二HTLC相关联,TX2的接收方地址与TX3的接收方地址相同,即BTC区块链网络中的第二HTLC地址。另外,爱丽丝使用该秘密作为执行第二HTLC的证明,因此TX3中的证明哈希值与TX2中的秘密哈希值相同。此外,当爱丽丝从第二HTLC地址接收TX2的转让值(例如3BTC)时,TX3中的转让值与TX2的转让值相同。
对于TX3和TX4,TX4的交易提交时间晚于TX3的交易提交时间。由于鲍勃使用BTC区块链网络中揭示的秘密作为ETH区块链网络中执行第一HTLC的证明,因此TX4中的证明与爱丽丝在BTC区块链网络中使用该秘密作为执行第二HTLC的证明时TX3的证明相同。
对于TX4和TX1,TX4的交易提交时间晚于TX1的交易提交时间。由于TX1和TX4与相同的第二HTLC相关联,因此TX4的接收方地址与TX1的接收方地址相同,即ETH区块链网络中的第一HTLC地址。此外,鲍勃使用秘密作为执行第一HTLC的证明,因此TX4中的证明哈希值与TX1中的秘密哈希值相同。此外,当鲍勃从第一HTLC地址接收TX1的转让值(例如30ETH)时,TX4中的转让值与TX1的转让值相同。
图示400可用于表示交易TX1、TX2、TX3和TX4之间的关系或关联。在一些实施例中,可以在图形用户界面上呈现该图示,以可视地显示交易之间的关系或关联,例如,如图4所示的,由实线连接线表示。在一些实施例中,该图示可用于识别与四个HTLC交易TX1、TX2、TX3和TX4相关的跨链交易。跨链交易的隐藏信息可以被进一步导出或确定,并在图示400上示出,例如,如图4中的虚线表示。隐藏信息可以包括例如谁是跨链交易的双方(例如,爱丽丝和鲍勃)以及他们在ETH和BTC中的账户地址是什么(例如,爱丽丝的ETH账户地址是TX1的发送方地址,爱丽丝的BTC账户地址是TX3的发送方地址;鲍勃的ETH账户地址是TX4的发送方地址,鲍勃的BTC账户地址是TX2的发送方地址)。隐藏信息还包括跨链交易的交换(或互换)和交换率,该交换是TX1中的转让值和TX2中的转让值之间的交换,该交换率是TX1中的转让值和TX2中的转让值之间的比率。隐藏信息可包括跨链交易的附加或不同的参数或属性。
在一些示例中,实体(例如,图2的参与者A、参与者B或参与者C)或用户(例如,ETH和BTC区块链网络的用户可以使用计算***来访问区块链网络中已发布的交易,并执行用于识别相互关联且与区块链网络中的同一跨链交易相关联的交易的算法。用于识别区块链1和区块链2中的相关交易的算法的一个示例实施方式可以表示为:
该算法可以确定区块链网络中的交易是否为HTLC交易。在一些实施例中,可以根据交易的调用地址是否与部署在区块链网络中的HTLC智能合约的智能合约地址相同来确定交易是否为HTLC交易。例如,上述算法可以遍历区块链1中的每个已发布交易(TX1),以搜索与跨链交易相关的TX1,并且如果TX1的调用地址不等于(!=)HTLC智能合约地址,则确定交易TX1不是HTLC交易。在一些实施例中,确定交易是否是HTLC交易可以包括确定是否根据HTLC协议执行交易。例如,算法可以通过确定交易信息是否包括作为哈希锁的秘密哈希值以及作为哈希锁的时间锁的到期时间来确定TX1还是TX2是HTLC交易。该算法可以确定TX3或TX4是否包括HTLC地址和/或用于计算与HTLC中的秘密哈希值比较的证明的哈希值的证明。
在一些实施例中,用于识别多个区块链网络中的相关交易的算法中可以包括附加或不同的操作。例如,find_relevant_transactions()中示出的一些操作可以按不同的顺序、并行或基于不同的输入执行。在一些实施例中,例如,可以省略、优化或以其他方式修改一些操作,以提高用于识别多个区块链网络中的相关交易的执行效率。例如,时间锁确定(例如,tx1.time_lock<=tx2.time_lock)和转让值比较(例如,tx1.value!=tx2.value*ratio)可为可选的。在一些实施例中,可以指定比率范围(例如,[ratio_min,ratio_max)。然后,可根据Tx1.value*ratio_min<=Tx2.value<=Tx1.value*ratio_max进行确定。
作为另一示例,算法可以通过以下识别跨链交易:1)识别TX1和TX4是相关联的并与第一区块链网络中的第一HTLC相关,TX2和TX3是相关联的并且与第二区块链网络中的第二HTLC相关;2)然后,识别TX1和TX2是相关联的并且TX3和TX4是相关联的。
在一些实施例中,所述算法可以使用诸如以下所示的analyze_sequence(TX1,TX2,TX3,TX4)等函数来导出跨链交易的隐藏信息:
analyze_sequencc(TX1,TX2,TX3,TX4):
userA=[TX1.sender,TX3.sender]
userrB=[TX4.seeder,TX2.sender]
swap=(TX1.value,TX2.value)
ratio=TX2.value/TX1.value
return(userA,userB,swap,ratio).
上述示例函数可以导出跨链交易的各方(例如,用户A和用户A)的隐藏信息、交换值和跨链交易的交换率。在一些实施例中,隐藏信息可以包括其他参数。在一些实施例中,其他函数可用于基于区块链网络中经识别的已发布交易TX1、TX2、TX3和TX4来导出跨链交易的隐藏信息。
在一些实施例中,可以应用或扩展上述技术和算法来识别两个以上方和/或两个以上区块链网络之间的多个跨链交易。在一些实施例中,多个区块链网络是基于相同或不同区块链平台的不同区块链网络实例。每个区块链网络都可以支持各自类型的资产或值(例如,各自的货币或加密货币)。例如,多个区块链网络中的一个或多个可以支持ETH,多个区块链网络中的一些网络可以支持BTC,而其他多个区块链网络中的一个或多个可以支持另一种加密货币。为便于说明,图5和图6描述了三方之间跨两个不同区块链网络的两个跨链交易。
图5是示出根据本文实施例的三方502、504、506(例如爱丽丝、鲍勃和凯西)之间跨多个区块链网络510和520(例如,ETH和BTC区块链网络)的多个跨链交易的示例500的图示。ETH区块链网络510和BTC区块链网络520可以分别是ETH区块链网络310和BTC区块链网络320。每个区块链网络可以具有不同的对应货币或加密货币,例如,用于区块链网络510的ETH和用于区块链网络520的BTC。
在一些实施例中,可有两个HTLC交换或跨链交易。在第一跨链交易中,爱丽丝和鲍勃交换一定数量的ETH和BTC货币,例如30ETH到3BTC。如图5所示,第一跨链交易可与交易AB1、AB2、AB3、AB4相关。在第二跨链交易中,鲍勃和凯西交换一定数量的ETH和BTC货币,例如30ETH到3BTC。如图5所示,第二跨链交易可与交易BC1、BC2、BC3、BC4相关。在一些实施例中,多个跨链交易可以使用相同或不同的哈希函数。在一些实施例中,一个或多个中间商可用于桥接两个或多个跨链交易。
例如,HTLC交换使用相同的哈希函数,例如SHA256。鲍勃可以在爱丽丝和凯西之间做中间人,例如,爱丽丝的30ETH交换凯西的3BTC。鲍勃赚不到中间值差额。例如,爱丽丝和鲍勃只有一定数量的ETH,但是没有或很少BTC,而凯西有一定数量的BTC。鲍勃可以先用他自己的30ETH从凯西获得爱丽丝想要的3BTC,然后用爱丽丝的30ETH交换获得的3BTC。图5示出了用于通过鲍勃执行爱丽丝和凯西之间的跨链交易的示例处理的处理530。
作为示例,爱丽丝可以首先使用她的客户端设备,例如,通过参与者***,来创建一个秘密(secret1),然后在步骤351基于哈希函数计算秘密的哈希值,其中H1=哈希(secret1)。哈希函数可以由爱丽丝选择,例如,可以是SHA256。秘密和秘密的哈希值可用于创建HTLC的哈希锁。
然后,在步骤532,爱丽丝可以使用客户端设备在ETH区块链网络510中执行交易AB1。在AB1中,爱丽丝可以使用ETH区块链网络510中的第一HTLC智能合约的账户地址调用第一HTLC智能合约(HTLC1),以初始化第一HTLC智能合约的参数。例如,可以将秘密哈希值H1设置为哈希锁以作为第一HTLC的输出。可以为第一HTLC配置条件,其中,知道该秘密的人可以使用该秘密作为证明来获得第一HTLC中的H1值,以从爱丽丝获得待转让值。例如,爱丽丝将待转让值设置为30ETH,并将30ETH发送到第一HTLC智能合约的账户地址。爱丽丝还可以将到期时间t1设置为第一HTLC中的时间锁。在一些实施例中,为了使得只有经授权或指定的实体(例如,鲍勃)可以使用该秘密检索待转让值,爱丽丝可以创建仅可由该秘密和指定实体的唯一密钥(例如,签名或其他唯一标识)打开的加密数字锁盒。
在爱丽丝在ETH区块链网络510中执行HTLC锁定交易AB1之后,所述交易AB1在ETH区块链网络510中发布,并且第一HTLC(HTLC1)正在等待证明。在533,爱丽丝将秘密哈希值传送给鲍勃。
在534,鲍勃可以使用他的客户端设备创建第二秘密(secret2),并基于哈希函数H2=哈希(secret2)计算第二秘密的哈希值。哈希函数可以与在531处使用的哈希函数相同。在535,鲍勃可以使用客户端设备在ETH区块链网络510中执行交易BC1。在BC1中,鲍勃可以在ETH区块链网络510中的第二HTLC地址处调用第二HTLC(HTLC2)以初始化第二HTLC智能合约的参数,例如,在ETH区块链网络510中的第二HTLC地址处,在第二HTLC中,将秘密哈希值H2设置为哈希锁,将到期时间t2设置为时间锁,并设置转让值,例如,30ETH。可以为第二HTLC配置一个条件,其中,知道该秘密的人可以使用该秘密作为证明来获得第二HTLC中的H2值以从鲍勃获得待转让值。例如,鲍勃将待转让值设置为30ETH,并将30ETH发送到第二HTLC智能合约的账户地址。在一些实施例中,第二HTLC可以被加密,使得第二HTLC只能用凯西的签名打开。在鲍勃在ETH区块链网络510中执行HTLC锁定交易BC1之后,交易BC1可以在ETH区块链网络510中发布,并且第二HTLC(HTLC2)正在等待证明。在536处,鲍勃将秘密哈希值H2发送给凯西。
在537,凯西然后使用接收到的秘密哈希值H2在BTC区块链网络520中创建相应的第三HTLC(HTLC3),并根据第三HTLC执行交易BC2。凯西可以将接收到的秘密哈希值H2设置为第三HTLC的哈希锁,将另一个到期时间t3设置为时间锁,并将相应数量的BTC(例如,3BTC)存储在BTC区块链网络520中的对应的第三HTLC地址中。可以为第三HTLC配置一个条件,其中,知道该秘密的人可以使用该秘密作为证明来获得第三HTLC中的H2值,以从凯西获得待转让值。例如,凯西将待转让值设置为3BTC,并将3BTC发送到第三HTLC智能合约的账户地址。在一些实施例中,第三HTLC也可以被加密,使得第三HTLC只能用鲍勃的签名打开。到期时间t3可以短于到期时间t2,使得在凯西可以从ETH区块链网络510中的第二HTLC地址获取一定数量的ETH之前鲍勃可以从BTC区块链网络520中的第三HTLC地址获取一定数量的BTC。在凯西在BTC区块链网络520中执行HTLC锁定交易BC2之后,交易BC2被发布在BTC区块链网络520中,并且第三HTLC(HTLC3)正在等待证明。
在538,鲍勃通过提供secret2作为执行第三个HTLC(HTLC3)的证明来启动交易BC3。secret2在BTC区块链网络520中被揭示。一旦第三HTLC的条件被满足(例如,哈希锁被secret2解锁,并且可选地由鲍勃的签名),在步骤539,第三HTLC(HTLC3)被执行并且鲍勃接收存储在第三HTLC中的BC2(例如,3BTC)中的转让值。
由于secret2在BTC区块链网络520中被揭示,凯西知道secret2并在步骤540通过提供secret2作为在ETH区块链网络510中执行第二HTLC(HTLC2)的证明来执行交易BC4。一旦第二HTLC的条件被满足(例如,哈希锁由secret2解锁(可选的还有凯西的签名),执行第二HTLC,凯西接收BC1中的转让值,例如,在541处存储在第二HTLC中的30ETH。因此,鲍勃和凯西之间的HTLC交换完成,鲍勃从凯西获得3BTC,凯西从鲍勃获得30ETH。
在从凯西获得3BTC之后,在542,鲍勃可以使用从爱丽丝接收到的秘密哈希值H1来调用与BTC区块链网络520中的第一HTLC相对应的第四HTLC智能合约(HTLC4),并根据第四HTLC执行交易AB2。鲍勃可以将接收到的秘密哈希值H1设置为第四HTLC的哈希锁,将另一个到期时间t4设置为时间锁,并在BTC区块链网络520中的第四HTLC智能合约的账户地址中存储相应数量的BTC,例如3BTC。可以为第四HTLC配置一个条件,其中,知道该秘密的人可以使用该秘密作为证明来获得第四HTLC中的H1值,以从鲍勃获得待转让值。例如,鲍勃将待转让值设置为3BTC,并将3BTC发送到第四HTLC智能合约的账户地址。在一些实施例中,还可以对第四HTLC进行加密,使得第四HTLC只能用爱丽丝的签名打开。到期时间t4可以短于到期时间t1,使得在鲍勃可以从ETH区块链网络510中的第一HTLC地址获得一定数量的ETH之前爱丽丝可以从BTC区块链网络520中的第四HTLC地址获得一定数量的BTC。在鲍勃在BTC区块链网络520中执行HTLC锁定交易AB2之后,交易AB2被发布在BTC区块链网络520中,并且第四HTLC(HTLC4)正在等待证明。
在543,爱丽丝通过提供secret1作为执行第四HTLC(HTLC4)的证明来发起交易AB3。secret1在BTC区块链网络520中被揭示。一旦满足第四HTLC的条件(例如,通过secret1和可选的爱丽丝签名来解锁哈希锁),则执行第四HTLC(HTLC4),并且爱丽丝在步骤544接收存储在第四HTLC地址中的AB2中的转让值,例如3BTC。
当secret1在BTC区块链网络520中被揭示时,鲍勃知道secret1并通过在步骤545提供secret1作为在ETH区块链网络510中执行第一HTLC(HTLC1)的证明来发起交易AB4。一旦第一HTLC的条件被满足(例如,哈希锁由secret1解锁,以及可选地鲍勃的签名),执行第一HTLC,鲍勃在步骤546接收存储在第一HTLC中的AB1中的转让值,例如30ETH。因此,爱丽丝和鲍勃之间的HTLC交换完成,爱丽丝从鲍勃获得3BTC,鲍勃从爱丽丝获得30ETH。在这两个HTLC交换(或跨链交易)中,鲍勃充当爱丽丝和凯西的中间人,将30ETH与3BTC交换。
图6为示出根据本文实施例的图5的多个跨链交易中的隐藏信息和已知信息的图示600。实体(例如,图2的参与者A、参与者B或参与者C)或用户(例如,ETH和BTC区块链网络的用户可以使用计算***来访问ETH和BTC区块链网络,并基于区块链网络中已发布的HTLC交易来识别ETH和BTC区块链网络中的跨链交易,并且进一步基于跨链交易的已知信息和/或相关HTLC交易导出跨链交易之间的隐藏信息。例如,实体可以是执行KYC操作的金融机构。计算***可以实现算法,所述算法可以包含上文关于图4或其变体所述的算法find_relevant_transactions()和analyze_sequence()。
在图5中描述的爱丽丝、鲍勃和凯西之间的两次HTLC交换之后,在ETH和BTC区块链网络中发布8次HTLC交易,其中,AB1、AB4、BC1和BC4在ETH区块链网络中发布,AB2、AB3、BC2和BC3在BTC区块链网络中发布。ETH和BTC区块链网络的用户可以访问交易信息。
图6所示,AB1的信息可以包括发送方地址(例如,爱丽丝的ETH账户地址)、接收方地址(例如,ETH区块链网络510中的第一HTLC地址)、转让值(例如,30ETH)、交易提交时间(例如,当执行AB1时)、秘密哈希值(例如,H1)和/或到期时间(例如t1)。AB2的信息可以包括发送方地址(例如,鲍勃的BTC账户地址)、接收方地址(例如,BTC区块链网络520中的第四HTLC地址)、转让值(例如,3BTC)、交易提交时间(例如,当执行AB2时)、秘密哈希值(例如,H1)和/或到期时间(例如,tx4)。AB3的信息可以包括发送方地址(例如,爱丽丝的ETH账户地址)、接收方地址(例如,BTC区块链网络520中的第四HTLC地址)、交易提交时间(例如,当执行AB3时)、证明(例如,secret1)和/或转让值(例如,从第四HTLC地址接收的值3BTC)。AB4的信息可以包括发送方地址(例如,鲍勃的BTC账户地址)、接收方地址(例如,ETH区块链网络510中的第一HTLC地址)、交易提交时间(例如,当执行AB4时)、证明(例如,secret1)和/或转让值(例如,从第一HTLC地址接收的值30ETH)。AB1、AB2、AB3和AB4的交易提交时间可以在时间上顺序排列。
如图6所示,BC1的信息可以包括发送方地址(例如,鲍勃的ETH账户地址)、接收方地址(例如,ETH区块链网络510中的第二HTLC地址)、转让值(例如,30ETH)、交易提交时间(例如,当BC1被执行时)、秘密哈希值(例如,H2)和/或到期时间(例如,t2)。BC2的信息可以包括发送方地址(例如,凯西的BTC账户地址)、接收方地址(例如,BTC区块链网络520中的第三HTLC地址)、转让值(例如,3BTC)、交易提交时间(例如,当BC2被执行时)、秘密哈希值(例如,H2)和/或到期时间(例如,tx2)。BC3的信息可以包括发送方地址(例如,鲍勃的ETH账户地址)、接收方地址(例如,BTC区块链网络520中的第三HTLC地址)、交易提交时间(例如,当BC3被执行时)、证明(例如,secret2)和/或转让值(例如,从第三HTLC地址接收的值3BTC)。BC4的信息可以包括发送方地址(例如,凯西的BTC账户地址)、接收方地址(例如,ETH区块链网络510中的第二HTLC地址)、交易提交时间(例如,当BC4被执行时)、证明(例如,secret2)和/或转让值(例如,从第二HTLC地址接收的值30ETH)。BC1、BC2、BC3和BC4的交易提交时间可以在时间上顺序排列。此外,如图5所示,可以在时间上顺序排列AB1、BC1、BC2、BC3、BC4、AB2、AB3和AB4的交易提交时间。
已发布交易的可访问信息可用于识别交易的关系,例如,通过根据多个标准挖掘或以其他方式检索、搜索和分析区块链网络中的区块链数据,类似于图4中关于交易TX1、TX2、TX3、TX4的描述。如果相关交易符合一个或多个标准,则可以确定相关交易。例如,可以将AB1、AB2、AB3和AB4标识为与第一跨链交易相关,并且可以将BC1、BC2、BC3和BC4标识为与第二跨链交易相关。
图示600可用于表示交易AB1、AB2、AB3和AB4之间的关系或关联以及交易BC1、BC2、BC3和BC4之间的关联。在一些实施例中,可以在图形用户界面上呈现图形,以可视地显示交易之间的关系或关联,例如,如图6所示,通过实线连接线。在一些实施例中,图示600可用于识别与四个HTLC交易AB1、AB2、AB3和AB4相关的第一跨链交易以及与四个HTLC交易BC1、BC2、BC3和BC4相关的第二跨链交易。
第一跨链交易的隐藏信息可以基于四个HTLC交易AB1、AB2、AB3和AB4的已知信息进一步导出或确定,并在图示600上示出,例如,由图6中的虚线表示。隐藏信息可以包括谁是跨链交易的双方(例如,爱丽丝和鲍勃)以及他们在ETH和BTC中的账户地址是什么(例如,爱丽丝的ETH账户地址是AB1的发送方地址,爱丽丝的BTC账户地址是AB3的发送方地址;鲍勃的ETH账户地址是AB4的发送方地址,鲍勃的BTC账户地址是AB2的发送方地址)。隐藏信息还可以包括跨链交易的交换(或互换)和交换率,该交换是AB1中的转让值(例如,30ETH)与AB2中的转让值(例如,3BTC)之间的交换,该交换率是AB1中的转让值与AB2中的转让值之间的比率。
类似地,可以基于四个HTLC交易BC1、BC2、BC3和BC4的已知信息进一步导出或确定第二跨链交易的隐藏信息,并在图示600上示出,例如,由图6中的虚线表示。隐藏信息可以包括谁是跨链交易的双方(例如,鲍勃和凯西)以及他们在ETH和BTC中的账户地址是什么(例如,鲍勃的ETH账户地址是BC1的发送方地址,鲍勃的BTC账户地址是BC3的发送方地址;凯西的ETH账户地址是BC4的发件人地址,凯西的BTC账户地址是BC2的发件人地址)。隐藏信息还可以包括跨链交易的交换(或互换)和交换率,该交换是BC1中的转让值(例如30ETH)和BC2中的转让值(例如3BTC)之间的交换,该交换率是BC1中的转让值和BC2中的转让值之间的比率。
在一些示例中,用户(或一方)在区块链网络中只有一个唯一的账户。计算***可以比较第一跨链交易的隐藏信息和第二次跨链交易的隐藏信息,确定AB4的发送方地址与BC1的发送方地址相同,两者都是鲍勃的ETH账户地址,并且AB2的发送方地址与BC3的发送方地址相同,这两个地址都是鲍勃的BTC账户地址。因此,可以确定鲍勃参与了与爱丽丝的第一跨链交易以及与凯西的第二跨链交易。
另外,在一些实施例中,计算***可以比较第一跨链交易的已知信息(例如,AB1、AB2、AB3和AB4的信息)和第二跨链交易的已知信息(例如,BC1、BC2、BC3和BC4的信息)。计算***可基于比较结果确定AB1、AB4、BC1和BC4的转让值彼此相同(例如30ETH),并且AB2、AB3、BC2和BC3的转让值彼此相同(例如3BTC)。这样,计算***就可确定鲍勃是爱丽丝和凯西在两次跨链交易中的中间人。即,爱丽丝通过鲍勃从凯西那里用30个ETH交换3BTC,鲍勃从这个交换中没有赚取中间值差。
在一些实施例中,如果鲍勃从交换中获得中间值差,例如交换的一部分,例如10%,则计算***可以确定BC1和AB1的转让值的比率与1之间的比率差是否小于预定比率,例如20%。如果比率差小于预定比率,计算***仍然可以确定鲍勃是帮助爱丽丝和凯茜交换并赚取交换差的中间人。
图7A、图7B、图7C是示出用于管理多个区块链网络中的交易的处理示例的流程图,其可由根据本文实施例的计算***执行。为方便起见,计算***包括位于一个或多个位置并根据本说明书适当编程的一个或多个计算机。计算***可与实体(例如,诸如银行的金融机构)或多个区块链网络的用户相关联。
每个区块链网络可以是基于区块链的账本***,例如图1的联盟区块链网络102或图2的联盟区块链网络212、图3的ETH区块链网络310或图5的ETH区块链网络510、图3的BTC区块链网络320或图5的BTC区块链网络520、私有区块链网络、公有区块链网络,侧链(或子链)网络或支持智能合约(例如,HTLC智能合约)和交易数据访问的任何其他区块链网络,其中所述区块链网络可以是其任何适当组合。每个区块链网络都可能彼此不同。区块链网络中的每一个都可以与各自的资产单位或度量相关联(例如,各自的货币)。
参照图7A,计算***执行用于管理多个区块链网络中的交易的处理700。在一些实施例中,处理700包括读取、检索、接收或以其他方式访问存储在多个区块链网络中的交易数据。交易数据包括在多个区块链网络中发布的交易。
计算***可以执行算法对交易数据进行数据挖掘或其他分析,以识别多个区块链网络中的关联交易,进一步识别与关联交易相关的跨链交易,并导出跨链交易的隐藏信息。在一些实施例中,所述算法可以包含上文关于图4或其变体所述的算法find_relevant_transactions()和analyze_sequence()。
在702,第一区块链网络中的第一交易被识别为第一区块链网络中的第一哈希时间锁定合约(HTLC)交易。第一区块链网络可以例如为图3的以太坊(ETH)区块链网络310或比特币(BTC)区块链网络320。通过在存储在第一区块链网络中的已发布的交易中进行搜索,可以识别第一HTLC交易。
在一些实施例中,计算***可以通过确定是否根据HTLC协议执行交易来查找在区块链网络中发布的交易,并确定该交易是否为HTLC交易。在一些实施例中,计算***通过确定交易(或在区块链网络中发布的交易数据)的信息是否包括作为哈希锁的秘密哈希值以及作为哈希锁的时间锁的到期时间来确定交易是否根据HTLC协议执行,和/或交易是否配置为在到期后被放弃以退还交易中的已转让值。在一些实施例中,计算***通过确定交易的接收方地址是否是区块链网络中的HTLC地址(例如,HTLC智能合约的账户地址)来确定交易是否根据HTLC协议执行,和/或是否计算了交易证明的哈希值并将其与HTLC中的秘密哈希值进行比较。
如果计算***确定交易不是HTLC交易,计算***可以继续检查区块链网络中的下一个交易。在一些实施例中,如果计算***确定交易是HTLC交易并将其识别为第一HTLC交易,则计算***可以继续识别与第一交易相关联的另一区块链网络中的第二交易。在一些实施例中,计算***可以遍历区块链网络中的所有已发布交易,以识别区块链网络中的所有HTLC交易。可以执行其他或不同的操作。
作为示例,计算***可以通过确定第一交易包括第一秘密哈希值(例如,H)和第一到期时间(例如,t1)来确定第一区块链网络中的第一交易(例如,图3中的TX1)是第一区块链网络中的第一HTLC交易。
在704,第二区块链网络中的第二交易被识别为第二区块链网络中的第二HTLC交易,例如,以与关于702所描述的类似或不同的方式。例如,第二区块链网络可以是图3的BTC区块链网络320。计算***可以通过确定第二交易包括第二秘密哈希值(例如,H)和第二到期时间(例如,t2)来确定第二区块链网络中的第二交易(例如,图3中的TX2)是第二区块链网络中的第二HTLC交易。
在706,第一HTLC交易的第一交易提交时间被确定为早于第二HTLC交易的第二交易提交时间,并且第一HTLC交易的第一秘密哈希值被确定为具有与第二HTLC交易的第二秘密哈希值相同的值。一旦识别了第一HTLC交易和第二HTLC交易,就可以基于第一HTLC交易和第二HTLC交易的相应交易数据来读取、检索或以其他方式识别与HTLC协议相关的信息(例如,交易提交时间和秘密哈希值)。如果第一HTLC交易和第二HTLC交易与相同的HTLC协议相关联并且依据相同的HTLC协议,则第二HTLC交易在第一HTLC交易之后执行,并且第二HTLC交易使用与第一HTLC交易相同的哈希值作为哈希锁。
在708,响应于确定第一交易提交时间早于第二交易提交时间并且第一秘密哈希值具有与第二秘密哈希值相同的值,确定第一HTLC交易与第二HTLC交易相关联。第一HTLC交易和第二HTLC交易也可以被确定为与跨链交易或HTLC交换相关。
在一些实施例中,计算***进一步确定第一HTLC交易中的第一到期时间是否长于第二HTLC交易中的第二到期时间和时间阈值之和。确定第一HTLC交易与第二HTLC交易相关联还可以基于确定第一到期时间长于第二到期时间和时间阈值之和。在一些实施例中,所述时间阈值可以至少部分地基于第一区块链网络的网络时间和第二区块链网络的网络时间之间的差来确定。
在一些实施例中,可以配置第一到期时间、第二到期时间和时间阈值,使得在第一区块链网络中执行与第一HTLC交易对应的第四HTLC交易之前,在第二区块链网络中执行与第二HTLC交易对应的第三HTLC交易。第一HTLC交易和第四HTLC交易可以与第一区块链网络中的第一HTLC相关联,并且第二HTLC交易和第三HTLC交易可以与第二区块链网络中的第二HTLC相关联。第一HTLC可被配置为使得在第一到期时间之后放弃第一HTLC交易,使得退还第一HTLC交易中的转让值,并且第二HTLC可以配置为使得在第二到期时间之后放弃第二HTLC交易,使得退还第二HTLC交易中的转让值。
在一些实施例中,计算***进一步确定第一HTLC交易中的第一转让值与第二HTLC交易中的第二转让值之间的比率是否在比率范围内。确定第一区块链网络中的第一HTLC交易与第二区块链网络中的第二HTLC交易相关联也可以基于确定第一转让值和第二转让值之间的比率在比率范围内。第一区块链网络与第一货币相关联,第二区块链网络与第二货币相关联,并且可以通过第一货币和第二货币之间的比率的变化或改变来预定比率范围。第一货币和第二货币之间比率的变化可以是在第一区块链网络中的第一交易的第一交易提交时间之前。在一些实施例中,可以基于公共数据或从已知权威机构查询或以其他方式确定比率的变化。
在一些实施例中,如果702中标识的第一HTLC交易和704中标识的第二HTLC交易的相应参数不满足上述一个或多个条件,计算机***可以返回到702和/或704以找到满足706中所述条件的另一个第一HTLC交易和/或另一个第二HTLC交易。如果在遍历存储在两个区块链网络中的所有交易之后,没有一对HTLC交易满足706中所述条件,计算机***可确定不存在与同一跨链交易或HTLC交换相关联的第一HTLC交易和第二HTLC交易。在这种情况下,处理700可以终止。
在一些实施例中,处理700还包括:识别第二区块链网络中的第三交易(例如,图3中的TX3)是第二区块链网络中的第三HTLC交易,以及确定所述第三HTLC交易的第三交易提交时间是否晚于所述第二HTLC交易的第二交易提交时间,所述第三HTLC交易的第三接收方地址是否与所述第二HTLC交易的第二接收方地址相同,第三HTLC交易中的证明的哈希值是否具有与第二HTLC交易的第二秘密哈希值相同的值。响应于确定第三交易提交时间晚于第二交易提交时间,第三接收方地址与第二接收方地址相同,并且第三HTLC交易中的证明的哈希值与第二HTLC交易的第二秘密哈希值相同,计算***可以确定第三HTLC交易与第二HTLC交易相关联,并且还可以确定第一、第二和第三HTLC交易与跨链交易相关联。
在一些实施例中,处理700还包括:识别第一区块链网络中的第四交易(例如,图3中的TX4)为第一区块链网络中的第四HTLC交易,并确定第四HTLC交易的第四交易提交时间是否晚于第三HTLC交易的第三交易提交时间,第四HTLC交易的第四接收方地址是否与第一HTLC交易的第一接收方地址相同,以及第四HTLC交易中的证明是否与第三HTLC交易中的证明相同。响应于确定第四交易提交时间晚于第三交易提交时间,第四接收方地址与第一接收方地址相同,并且第四HTLC交易中的证明与第三HTLC交易中的证明相同,计算***可确定第四交易与第一交易、第二交易和第三交易相关联,并且还可以确定第一交易、第二交易、第三交易和第四交易与跨链交易相关联。
在一些实施例中,处理700还包括基于第一、第二、第三和第四交易的关联从第一、第二、第三和第四交易的信息导出跨链交易的隐藏信息。第一和第二交易中的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个,并且第三和第四交易中的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
跨链交易的隐藏信息可以包括以下至少一个:第一方,其至少具有第一交易的第一发送方地址或第三交易的第三发送方地址中的一个;第二方,其具有第二交易的第二发送方地址或第四交易的第四发送方地址中的至少一个;交换,为第一交易的第一转让值(例如,30ETH)和第二交易的第二转让值(例如,3BTC)之间的交换;或交换率,为第一交易中的第一转让值与第二交易中的第二转让值之间的比率。
在一些实施例中,计算***可以以数据结构(例如图或表)存储多个区块链网络中的交易信息,以可视化方式呈现所识别的交易(例如,图示400,如图4所示)。在一些实施例中,计算***可以通过连接或突出所识别的交易之间的关联或关系,进一步注释所识别的交易之间的关联或关系。在一些实施例中,计算***可以基于数据结构和/或可视化进一步确定与至少一个跨链交易的交易和隐藏信息相关的至少一个跨链交易。
参照图7B,计算***执行用于管理多个区块链网络中的交易的处理730。在一些实施例中,处理730包括读取、检索、接收或以其他方式访问存储在多个区块链网络中的交易数据。交易数据包括在多个区块链网络中发布的交易。计算***可以执行算法来识别多个区块链网络中的关联交易,进一步识别与该关联交易相关的跨链交易,并导出该跨链交易的隐藏信息。在一些实施例中,所述算法可以包含上文关于图4或其变体所述的算法find_relevant_transactions()和analyze_sequence()。
在732,识别第一区块链网络中的第一哈希时锁定合约(HTLC)交易与第二区块链网络中的第二HTLC交易相关联。作为示例,第一HTLC交易可以是图3中的TX1,并且第二HTLC交易可以是图3中的TX2。第一区块链网络可以是图3的ETH区块链网络310,第二区块链网络可以是BTC区块链网络320,可以根据图7A的处理700或以其他方式实现处理730的步骤732。
在一些实施例中,识别第一区块链网络中的第一HTLC交易与第二区块链网络中的第二HTLC交易相关联,可以包括:确定第二HTLC交易的交易提交时间晚于第一HTLC交易的交易提交时间,并且确定第二HTLC交易的秘密哈希值与第一HTLC交易的秘密哈希值具有相同的值。
在一些实施例中,识别第一区块链网络中的第一HTLC交易与第二区块链网络中的第二HTLC交易相关联,也可以包括:确定第一HTLC交易的到期时间长于第二HTLC交易的到期时间和时间阈值之和。第一HTLC交易的到期时间、第二HTLC交易的到期时间以及时间阈值可以配置为,在第一区块链网络中执行与第一HTLC交易相关联的第四HTLC交易之前,在第二区块链网络中执行与第二HTLC交易相关联的第三HTLC交易。时间阈值可以至少部分地基于第一区块链网络的网络时间与第二区块链网络的网络时间之间的差来确定。
在一些实施例中,识别第一区块链网络中的第一HTLC交易与第二区块链网络中的第二HTLC交易相关联,也可以包括:确定第一交易的转让值与第二交易的转让值之间的比率在比率范围内。第一区块链网络与第一货币相关联,第二区块链网络与第二货币相关联,并且比率范围可以通过第一货币与第二货币之间的比率的变化来确定。第一货币与第二货币之间的比率变化可以在第一区块链网络中第一HTLC交易的交易提交时间之前。
在734处,识别第一区块链网络中的第一哈希时锁定合约(HTLC)交易与第二区块链网络中的第二HTLC交易相关联。例如,第三HTLC交易可以是图3中的TX3。计算***可以通过确定第三HTLC交易的交易提交时间晚于第二HTLC交易的交易提交时间,确定第三HTLC交易的接收者地址与第二HTLC交易的接收者地址相同,并且确定第三HTLC交易中的证明的哈希值具有与第二HTLC交易的秘密哈希值相同的值,来识别与第二HTLC交易相关联的第三HTLC交易。
在736处,识别第一区块链网络中的第四HTLC交易与第一、第二和第三HTLC交易相关联。计算***可以确定第一、第二、第三和第四HTLC交易与跨第一区块链网络和第二区块链网络的相同跨链交易相关。第四HTLC交易可以是图3中的TX4。
在一些实施例中,计算***通过确定第四HTLC交易的交易提交时间晚于第三HTLC交易的交易提交时间,确定第四HTLC交易中的证明与第三HTLC交易的证明相同,并且确定第四HTLC交易的接收方地址与第一HTLC交易的接收方地址相同,来识别与第一、第二和第三HTLC交易相关联的第四HTLC交易。第一、第二、第三和第四HTLC交易可以在时间上顺序执行。
在738处,基于第一、第二、第三和第四HTLC交易的关联,从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息。
在一些实施例中,第一和第二HTLC交易中的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个。在一些实施例中,第三和第四HTLC交易中的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,跨链交易的隐藏信息包括以下至少一个:跨链交易的第一方,具有第一HTLC交易的发送方地址或第三HTLC交易的发送方地址中的至少一个;或跨链交易的第二方,具有第二HTLC交易的发送者地址或第四HTLC交易的发送者地址中的至少一个的。隐藏信息还可以包括:跨链交易的交换(或互换),为第一HTLC交易中的转让值(例如,30ETH)和第二HTLC交易中的转让值(例如3BTC)之间的交换,和/或第一HTLC交易中的转让值与第二HTLC交易中的转让值之间的交换率。
在一些实施例中,计算***可以通过确定是否根据HTLC协议执行交易来确定在区块链网络中发布的交易是否为HTLC交易。在一些实施例中,计算***通过确定相应交易的信息(或交易数据)包括作为哈希锁的秘密哈希值和作为哈希锁的时间锁的到期时间来确定第一HTLC交易或第二HTLC交易。在一些实施例中,计算***通过确定相应交易的接收方地址是区块链网络中的HTLC地址来确定第三HTLC交易或第四HTLC交易,并且计算该交易的证明的哈希值并将其与HTLC中的秘密哈希值进行比较。
在一些实施例中,计算***可以将多个区块链网络中的交易信息存储在数据结构中,例如图形或表格,以可视化的方式呈现所识别的交易(例如,如图4所示的图示400)。在一些实施例中,计算***可以进一步注释所识别的交易之间的所识别的关联或关系,例如,通过连接或突出显示所识别的交易之间的关联或关系。在一些实施例中,计算***可以基于数据结构和/或可视化来进一步确定与交易相关的至少一个跨链交易以及至少一个跨链交易的隐藏信息。
参考图7C,计算***执行用于管理多个区块链网络中的交易的过程750。计算***可以执行算法来识别多个区块链网络中的关联交易,以进一步识别与关联交易相关的多个跨链交易,并导出跨链交易之间的隐藏信息。该算法可以包括上述关于图6或其变体的算法的示例。作为示例,多个区块链网络可以包括图5的ETH区块链网络510和BTC区块链网络520。
在752,访问存储在多个区块链网络中的交易数据。在一些实施例中,访问交易数据包括读取、检索、接收或以其他方式获得存储在多个区块链网络中的交易数据。交易数据包括在多个区块链网络中发布的交易(例如图5和图6中的AB1、AB2、AB3、AB4、BC1、BC2、BC3和BC4)。可挖掘或以其他方式分析交易数据以确定HTLC交易。
在一些实施例中,计算***通过确定交易的交易数据是否包括作为哈希锁的秘密哈希值和作为哈希锁的时间锁的到期时间,以及是否将交易配置为在到期时间之后被放弃,使得交易中的转移至被退还,来确定是否根据HTLC协议执行已发布的交易。在一些实施例中,计算***通过确定交易的接收方地址是否是区块链网络中的HTLC地址以及是否计算交易证明的哈希值并将其与HTLC中的秘密哈希值进行比较来确定是否根据HTLC协议执行交易。
在754,基于在多个区块链网络中发布的交易来识别跨多个区块链网络的多个跨链交易。多个跨链交易中的每一个被识别为与在至少两个区块链网络上发布的一组相应交易相关。该组相应交易组彼此相关联。计算***可以通过执行图7A的处理700或图7B的处理730来识别跨多个区块链网络的跨链交易。
在一些实施例中,通过识别与第一跨链交易相关的第一、第二、第三和第四哈希时间锁定合约(HTLC)交易(例如,图5的AB1、AB2、AB3和AB4),识别跨区块链网络中的第一区块链网络(例如,图5的ETH区块链网络510)和第二区块链网络(例如,图5的BTC区块链网络520)的第一跨链交易。第一和第四HTLC交易在区块链网络的第一区块链网络中,第二和第三HTLC交易在区块链网络的第二区块链网络中。在一些实施例中,通过识别与第二跨链交易相关的第五、第六、第七和第八HTLC交易(例如,图5的BC1、BC2、BC3和BC4)来识别跨第一区块链网络和第二区块链网络的第二跨链交易。第五和第八HTLC交易处于第一区块链网络中,第六和第七HTLC交易处于第二区块链网络中。
在一些实施例中,计算***通过识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一HTLC交易、第二区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第三HTLC交易、以及第一区块链网络中的与第一、第二和第三HTLC交易相关联的第四HTLC交易来识别第一跨链交易。计算***还可以通过识别第一区块链网络中的与第二区块链网络中的第六HTLC交易相关联的第五HTLC交易、第二区块链网络中的与第二区块链网络中的第六HTLC交易相关联的第七HTLC交易、以及第一区块链网络中的与第五、第六和第七HTLC交易相关联的第八HTLC交易来识别第二跨链交易。
在一些实施例中,第一、第二、第三和第四HTLC交易在时间上顺序执行,第五、第六、第七和第八HTLC交易在时间上顺序执行。在一些实施例中,第一、第五、第六、第七、第八、第二、第三和第四HTLC交易在时间上顺序执行。
在756处,基于该组相应交易的关联导出多个跨链交易中的每一个的隐藏信息。在一些实施例中,计算***可以基于第一、第二、第三和第四HTLC交易的关联,从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息,并且基于第五、第六、第七和第八HTLC交易的关联从第五、第六、第七和第八HTLC交易的信息导出第二隐藏信息。
在一些实施例中,第一、第二、第五和第六HTLC交易中的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个。第三、第四、第七和第八HTLC交易中的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,第一跨链交易的第一隐藏信息包括以下至少一个:第一跨链交易的第一方,其具有第一HTLC交易的发送方地址或第三HTLC交易的发送方地址中的至少一个;或第一跨链交易的第二方,其具有第二HTLC交易的发送方地址或第四HTLC交易的发送方地址中的至少一个。第一跨链交易的第一隐藏信息还可以包括以下至少一个:第一跨链交易的交换(或互换),为第一HTLC交易中的转让值和第二HTLC交易中的转让值之间的交换;或第一跨链交易的交换率,为第一HTLC交易中的转让值与第二HTLC交易中的转让值之间的比率。
在一些实施例中,第二跨链交易的第二隐藏信息包括以下至少一个:第二跨链交易的第三方,其具有第五HTLC交易的发送方地址或第七HTLC交易的发送方地址中的至少一个;或第二跨链交易的第四方,其具有第六HTLC交易的发送方地址或第八HTLC交易的发送方地址中的至少一个。第二跨链交易的第二隐藏信息还可以包括以下至少一个:第二跨链交易的交换(或互换),为第五HTLC交易中的转让值和第六HTLC交易中的转让值之间的交换;或第二跨链交易的交换率,为第五HTLC交易中的转让值与第六HTLC交易中的转让值之间的比率。
在758,基于多个跨链交易各自的隐藏信息导出多个跨链交易之间的隐藏信息。
在一些实施例中,计算***通过比较与第一、第二、第三和第四HTLC交易相关联的第一跨链交易的第一隐藏信息以及与第五、第六、第七和第八HTLC交易相关联的第二跨链交易的第二隐藏信息,得出第一跨链交易和第二跨链交易之间的隐藏信息。响应于确定第四HTLC交易的发送方地址与第一区块链网络中的第五HTLC交易的发送方地址相同并且第二HTLC交易的发送方地址与第二区块链网络中的第七HTLC交易的发送方地址相同,计算***可以确定第三方为第二方。
在一些实施例中,计算***通过比较第一、第二、第三和第四HTLC交易的信息和第五、第六、第七和第八HTLC交易的信息,进一步导出第一和第二跨链交易之间的隐藏信息。响应于确定第一、第四、第五和第八HTLC交易的转让值彼此相同,并且第二、第三、第六和第七HTLC交易的转让值彼此相同,计算***可以确定第二方是第一方和第四方之间的交易的中间人,并确定与第一方相关联的第一HTLC交易的转让值和与第四方关联的第六HTLC交易的转让值进行交易。
在一些实施例中,计算***可以将多个区块链网络中的交易信息存储在数据结构中,例如图形或表格,以可视化的方式呈现所识别的交易(例如,如图6所示的图示600)。在一些实施例中,计算***可以进一步注释所识别的交易之间的所识别的关联或关系,例如,通过连接或突出显示所识别的交易之间的关联或关系。在一些实施例中,计算***可以基于数据结构和/或可视化来进一步确定与交易相关的一个或多个跨链交易和一个或多个跨链交易的隐藏信息和/或两个或多个跨链交易之间的隐藏信息。
图8A描绘了根据本文实施例的设备800的模块的示例。设备800可以是配置成管理多个区块链网络中的交易的计算***的实施例的示例。设备800可以对应于上述实施例,并且设备800包括:第一识别模块802,其识别第一区块链网络中的第一交易是第一区块链网络中的第一哈希时间锁定合约(HTLC)交易;第二识别模块804,其识别第二区块链网络中的第二交易是第二区块链网络中的第二HTLC交易,该第二区块链网络不同于第一区块链网络;第一确定模块806,其确定第一HTLC交易的第一交易提交时间早于所述第二HTLC交易的第二交易提交时间,并且第一HTLC交易的第一秘密哈希值具有与所述第二HTLC交易的第二秘密哈希值相同的值;以及第二确定模块808,其响应于确定第一交易提交时间早于第二交易提交时间,并且第一秘密哈希值具有与第二秘密哈希值相同的值,将第一区块链网络中的第一HTLC交易与第二区块链网络中的第二HTLC交易相关联,并且将第一HTLC交易和第二HTLC交易与跨链交易相关。
在一些实施例中,第一确定模块806被配置成进一步确定第一交易中的第一到期时间长于第二交易中的第二到期时间和时间阈值之和,第二确定模块808响应于确定第一到期时间长于第二到期时间和时间阈值之和,确定第一区块链网络中的第一交易与第二区块链网络中的第二交易相关联。
在一些实施例中,时间阈值至少部分地基于第一区块链网络的网络时间和第二区块链网络的网络时间之间的差来确定。
在一些实施例中,第一到期时间、第二到期时间以及时间阈值被配置成使得在第一区块链网络中执行与第一HTLC交易对应的第四HTLC交易之前,在第二区块链网络中执行与第二HTLC交易对应的第三HTLC交易。第一HTLC交易和第四HTLC交易与第一区块链网络中的第一HTLC相关联,并且第二HTLC交易和第三HTLC交易与第二区块链网络中的第二HTLC相关联。
在一些实施例中,第一HTLC被配置成在第一到期时间之后放弃第一HTLC交易,使得第一HTLC交易中的转让值被退还,以及第二HTLC被配置成使得在第二到期时间之后放弃第二HTLC交易,使得第二HTLC交易中的转让值被退还。
在一些实施例中,第一确定模块806被配置成进一步确定第一交易中的第一转让值和第二交易中的第二转让值之间的比率在比率范围内,第二确定模块808响应于确定第一转让值和第二转让值之间的比率在比率范围内,确定第一区块链网络中的第一交易与第二区块链网络中的第二交易相关联。
在一些实施例中,第一区块链网络与第一货币相关联,第二区块链网络与第二货币相关联,并且比率范围通过第一货币和第二货币之间比率的变化来预定。
在一些实施例中,第一货币和第二货币之间比率的变化在第一区块链网络中的第一交易的第一交易提交时间之前。
在一些实施例中,设备800还包括:第三识别模块,其识别第二区块链网络中的第三交易是第二区块链网络中的第三HTLC交易;第三确定模块,其确定第三HTLC交易的第三交易提交时间晚于第二HTLC交易的第二交易提交时间并且第三HTLC交易的第三接收方地址与第二HTLC交易的第二接收方地址相同,并且确定第三HTLC交易中的证明具有与第二HTLC交易的第二秘密哈希值相同的值;以及第四确定模块,其响应于确定第三交易提交时间晚于第二交易提交时间、第三接收方地址与第二接收方地址相同并且第三HTLC交易中的证明的哈希值具有与第二HTLC交易的第二秘密哈希值相同的值,确定第三HTLC交易与第二HTLC交易相关联,并且第一、第二和第三HTLC交易与跨链交易相关。
在一些实施例中,设备800还包括第四识别模块,其识别第一区块链网络中的第四交易为第一区块链网络中的第四HTLC交易;第五确定模块,其确定第四HTLC交易的第四交易提交时间晚于第三HTLC交易的第三交易提交时间,第四HTLC交易的第四接收方地址与所述第一HTLC交易的第一接收方地址相同,以及第四HTLC交易的证明与第三HTLC交易的证明相同;以及第六确定模块,其响应于确定第四交易提交时间晚于第三交易提交时间、确定第四接收方地址与第一接收方地址相同、并且第四HTLC交易中的证明与第三HTLC交易中的证明相同,确定第四交易与第一交易、第二交易和第三交易相关联,第一交易、第二交易、第三交易和第四交易与跨链交易相关。
在一些实施例中,设备800还包括导出模块,该导出模块基于第一、第二、第三和第四交易的关联从第一、第二、第三和第四交易的信息导出跨链交易的隐藏信息。
在一些实施例中,第一和第二交易的每个信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希或到期时间中的至少一个,第三和第四交易的每个信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,跨链交易的隐藏信息包括以下至少一个:第一方,其具有第一交易的第一发送方地址或第三交易的第三发送方地址中的至少一个;第二方,具有第二交易的第二发送方地址或第四交易的第四发送方地址中的至少一个;交换;为第一交易的第一转让值和第二交易的第二转让值之间的交换;或交换率,为第一交易中的第一转让值与第二交易中的第二转让值之间的比率。
在一些实施例中,设备800还包括确定模块,该确定模块通过确定根据HTLC协议执行交易来确定交易是HTLC交易。
在一些实施例中,确定模块通过确定交易的信息包括作为哈希锁的秘密哈希和作为时间锁的到期时间来确定交易是根据HTLC协议执行的,该交易被配置为在到期时间之后被放弃,使得该交易中的已转让值被退还。
在一些实施例中,设备800包括呈现模块,该呈现模块在用户界面上以可视化方式呈现多个区块链网络中的HTLC交易的信息,并以可视化方式注释HTLC交易的关联。
在一些实施例中,多个区块链网络中的每一个与不同的对应货币相关联。
图8B描绘了根据本文实施例的另一装置830的模块的示例。设备830可以是配置成管理多个区块链网络中的交易的计算***的实施例的示例。设备830可对应于上述实施例,并且该装置830包括:第一识别模块832,其识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一哈希时间锁定合约(HTLC)交易,第二区块链网络不同于第一区块链网络;第二识别模块834,其识别第二区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第三HTLC交易;第三识别模块836,其识别第一区块链网络中的与第一、第二和第三HTLC交易相关联的第四HTLC交易,第一、第二、第三和第四HTLC交易与跨第一区块链网络和第二区块链网络的跨链交易相关联;以及导出模块838,其基于第一、第二、第三和第四HTLC交易的关联从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息。
在一些实施例中,第一和第二HTLC交易的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个,并且第三和第四HTLC交易中的每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,跨链交易的隐藏信息包括以下至少一个:跨链交易的第一方,其中,从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息,包括确定跨链交易的第一方具有第一HTLC交易的发送方地址或第三HTLC交易的发送方地址中的至少一个;跨链交易的第二方,其中,从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息,包括确定跨链交易的第二方具有第二HTLC交易的发送方地址或第四HTLC交易的发送方地址中的至少一个;跨链交易的交换,其中,从第一、第二、第三和第四HTLC交易的信息导出跨链交易的隐藏信息,包括将跨链交易的交换确定为第一HTLC交易中的转让值和第二HTLC交易中的转让值之间的交换;或第一HTLC交易中的转让值与第二HTLC交易中的转让值之间的交换率。
在一些实施例中,识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一HTLC交易包括:确定第二HTLC交易的交易提交时间晚于第一HTLC交易的交易提交时间,以及确定第二HTLC交易的秘密哈希值具有与第一HTLC交易的秘密哈希值相同的值。
在一些实施例中,识别第一区块链网络中的第一HTLC交易与第二区块链网络中的第二HTLC交易相关联还包括以下至少一个:确定第一HTLC交易的到期时间长于第二HTLC交易的到期时间和时间阈值之和,或者确定第一交易的转让值和第二交易的转让值之间的比率在比率范围内。
在一些实施例中,第一区块链网络与第一货币相关联,第二区块链网络与第二货币相关联,并且比率范围通过第一货币和第二货币之间比率的变化来预定。
在一些实施例中,第一货币和第二货币之间比率的变化在第一区块链网络中的第一HTLC交易的交易提交时间之前。
在一些实施例中,第一HTLC交易的到期时间、第二HTLC交易的到期时间以及时间阈值被配置成使得在第一区块链网络中执行与第一HTLC交易相关联的第四HTLC交易之前,在第二区块链网络中执行与第二HTLC交易相关联的第三HTLC交易。
在一些实施例中,时间阈值至少部分地基于第一区块链网络的网络时间和第二区块链网络的网络时间之间的差来确定。
在一些实施例中,识别第二区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第三HTLC交易包括:确定第三HTLC交易的交易提交时间晚于第二HTLC交易的交易提交时间,确定第三HTLC交易的接收者地址与第二HTLC交易的接收者地址相同,并且确定第三HTLC交易中的证明的哈希值具有与第二HTLC交易的秘密哈希值相同的值。
在一些实施例中,识别第一区块链网络中的与第一、第二和第三HTLC交易相关联的第四HTLC交易包括:确定第四HTLC交易的交易提交时间晚于第三HTLC交易的交易提交时间,确定第四HTLC交易中的证明与第三HTLC交易的证明相同,并且确定第四HTLC交易的接收方地址与第一HTLC交易的接收方地址相同。
在一些实施例中,设备832包括确定模块,该确定模块通过确定交易是根据HTLC协议执行的来确定交易是HTLC交易。
在一些实施例中,确定交易是根据HTLC协议执行的包括:确定交易的信息包括作为哈希锁的秘密哈希和作为时间锁的到期时间,该交易被配置为在到期时间之后被放弃,使得该交易中的转让值被退还。
在一些实施例中,设备830包括呈现模块,该呈现模块在用户界面上以可视化方式呈现多个区块链网络中的HTLC交易的信息,并以可视化方式注释HTLC交易的关联。
在一些实施例中,第一、第二、第三和第四HTLC交易被按顺序执行。
在一些实施例中,多个区块链网络中的每个都与不同的对应货币相关联。
图8C描绘了根据文实施例的另一装置850的模块的示例。装置850可以是配置为管理多个区块链网络中的交易的计算***的实施例的示例。装置850可以对应于上述实施例,并且装置850包括以下:访问模块852,访问存储在多个区块链网络中的交易数据,包括在多个区块链网络中发布的交易数据,多个区块链网络中的每一个彼此不同;识别模块854,基于在多个区块链网络中发布的交易,在多个区块链网络上标识跨多个区块链网络的多个跨链交易,其中,多个跨链交易各自与至少两个区块链网络上发布的一组对应交易相关,该组对应交易彼此相关联;第一导出模块856,基于该组对应交易的关联来导出多个跨链交易中每一个的隐藏信息;以及第二导出模块,基于多个跨链交易中每一个的隐藏信息,导出多个跨链交易之间的隐藏信息。
在一些实施例中,识别多个跨链交易包括:通过识别第一、第二、第三来识别区块链网络的第一跨链交易和区块链网络的第二区块链网络,以及与第一跨链交易相关的第四哈希时间锁定合约(HTLC)交易,第一和第四HTLC交易位于区块链网络的第一区块链网络中,第二和第三HTLC交易位于区块链网络的第二区块链网络中,并通过识别与第二跨链交易相关的第五、第六、第七和第八个HTLC交易,确定跨第一区块链网络和第二区块链网络的第二跨链交易,第五和第八个HTLC交易位于第一区块链网络中,第六和第七个HTLC交易位于第二区块链网络中。
在一些实施例中,识别跨第一区块链网络和第二区块链网络的第一跨链交易包括:识别第一区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第一HTLC交易;识别第二区块链网络中的与第二区块链网络中的第二HTLC交易相关联的第三HTLC交易;以及识别第一区块链网络中的与第一、第二和第三HTLC交易关联的第四HTLC交易。
在一些实施例中,识别跨第一区块链网络和第二区块链网络的第二跨链交易包括:识别第一区块链网络中的与第二区块链网络中的第六HTLC交易相关联的第五HTLC交易;识别第二区块链网络中的与第二区块链网络中的第六HTLC交易相关联的第七HTLC交易;以及识别第一区块链网络中的与第五、第六和第七HTLC交易相关联的第八HTLC交易。
在一些实施例中,第一、第二、第三和第四HTLC交易被在时间上顺序执行,第五、第六、第七和第八HTLC交易被在时间上顺序执行,第一、第五、第六、第七、第八、第二、第三和第四HTLC交易在时间上顺序执行。
一些实施例中,基于对应交易组的关联来导出多个跨链交易中每一个的隐藏信息包括:基于第一、第二、第三和第四HTLC交易的关联,从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息;并基于第五、第六、第七和第八HTLC交易的关联,从第五、第六、第七和第八HTLC交易的信息导出第二隐藏信息。
在一些实施例中,第一、第二、第五和第六HTLC交易中每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希或到期时间中的至少一个;以及第三、第四、第七,第八HTLC交易中每一个的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
在一些实施例中,第一跨链交易的第一隐藏信息包括以下至少一个:第一跨链交易的第一方,其中从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息包括:确定第一跨链交易的第一方具有第一HTLC交易的发送方地址或第三HTLC交易的发送方地址中的至少一个;或第一跨链交易的第二方,其中从第一、第二、第三和第四HTLC交易的信息导出跨链交易的第一隐藏信息包括:确定跨链交易的第二方具有第二HTLC交易的发送方地址或第四HTLC交易的发送方地址中的至少一个。
在一些实施例中,第二跨链交易的第二隐藏信息包括以下至少一个:第二跨链交易的第三方,其中,从第五、第六、第七和第八HTLC交易的信息导出第二隐藏信息包括:确定第三跨链交易的第三方具有第五HTLC交易的发送方地址或第七HTLC交易的发送方地址中的至少一个;或第二跨链交易的第四方,其中,从第五、第六、第七和第八HTLC交易的信息导出第二隐藏信息包括确定跨链交易的第四方具有第六HTLC交易的发送方地址或第八HTLC交易的发送方地址中的至少一个。
在一些实施例中,第一跨链交易的第一隐藏信息还包括以下至少一个:第一跨链交易的交换,其中,从第一、第二、第三和第四HTLC交易的信息导出第一跨链交易的第一隐藏信息包括:确定第一跨链交易的交换为第一HTLC交易中的转让值和第二HTLC交易中的转让值之间的交换;或者第一跨链交易的交换率,其中,从第一、第二、第三和第四HTLC交易的信息中导出第一跨链交易的第一隐藏信息包括:确定第一跨链交易的交换率为第一HTLC交易中的转让值与第二HTLC交易中的转让值之间的比率。
在一些实施例中,第二跨链交易的第二隐藏信息还包括以下至少一个:第二跨链交易的交换,其中,从第五、第六、第七和第八HTLC交易的信息导出第二跨链交易的第二隐藏信息包括:确定第二跨链交易的交换为第五HTLC交易中的转让值和第六HTLC交易中的转让值之间的交换;或者第二跨链交易的交换率,其中,从第五、第六、第七和第八HTLC交易的信息导出第二跨链交易的第二隐藏信息包括:确定第二跨链交易的交换率为第五HTLC交易中的转让值和第六HTLC交易中的转让值之间的比率。
在一些实施例中,基于多个跨链交易中的每个跨链交易的隐藏信息导出多个跨链交易之间的隐藏信息包括:比较与第一、第二、第三和第四HTLC交易相关联的第一跨链交易的第一隐藏信息以及与第五、第六、第七和第八HTLC交易相关联的第二跨链交易的第二隐藏信息;确定第四HTLC交易的发送方地址与第一区块链网络中第五HTLC交易的发送方地址相同,并且第二HTLC交易的发送方地址与第二区块链网络中第七HTLC交易的发送方地址相同;确定第三方为第二方。
在一些实施例中,基于多个跨链交易中每一个跨链交易的隐藏信息导出多个跨链交易之间的隐藏信息还包括:比较第一、第二、第三和第四HTLC交易的信息和第五、第六和第七和第八HTLC交易的信息;确定第一、第四、第五和第八HTLC交易的转让值彼此相同,并且第二、第三、第六和第七HTLC交易的转让值彼此相同;以及确定第二方是第一方和第四方之间的交易的中间人,并且与第一方相关联的第一HTLC交易的转让值和与第四方相关联的第六个HTLC交易的转让值进行交易。
在一些实施例中,与多个跨链交易相对应的每个交易是哈希时间锁定合约(HTLC)交易。设备850包括确定模块,该确定模块通过确定根据HTLC协议执行交易来确定交易是HTLC交易。
在一些实施例中,确定交易是根据HTLC协议执行的包括:确定交易的信息包括作为哈希锁的秘密哈希和作为时间锁的到期时间,该交易被配置为在到期时间之后被放弃,使得该交易中的转让值被退还。
在一些实施例中,设备850包括呈现模块,该呈现模块在用户界面上以可视化方式呈现在多个区块链网络中发布的交易的信息并以可视化方式注释HTLC交易的关联。
前述实施例中示出的***、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施例设备是计算机(计算机可以是个人计算机)、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件接收和发送设备、游戏控制台、平板电脑、可穿戴设备或这些设备的任意组合。
对于装置中每个模块的功能和作用的实施过程,可以参考前述方法中相应步骤的实施过程。为简单起见,这里省略了细节。
由于装置实施例基本上与方法实施例相对应,因此对于相关部件,可以参照方法实施例中的相关描述。前一描述的装置实施仅是示例。作为单独部件描述的模块可以是或可以不是物理上分离的,并且作为模块显示的部件可以是或可以不是物理模块,可以位于一个位置,或可以分布在多个网络模块上。可以基于实际需求来选择一些或所有模块,以实现本文方案的目标。本领域普通技术人员在无需付出创造性努力的情况下就能理解和实现本申请的实施例。
再次参考图8A、图8B或图8C,可以将其解释为示出计算实现装置的内部功能模块和结构。计算实现装置可以是被配置为管理多个区块链网络中的交易的计算***的示例。本质上,执行主体可以是电子设备,该电子设备包括:一个或多个处理器;被配置为存储一个或多个处理器的可执行指令的一个或多个计算机可读存储器。在一些实施例中,所述一个或多个计算机可读存储器耦接至所述一个或多个处理器且其上存储有编程指令,所述编程指令可以由所述一个或多个处理器执行以执行本文所描述的算法、方法、函数、处理、流程和程序。本文还提供了耦接至一个或多个处理器并且其上存储有指令的一个或多个非暂时性计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。
本文还提供了实现本文提供的方法的***。该***包括一个或多个处理器,以及耦接到一个或多个处理器并在其上存储有指令的计算机可读存储介质,该指令在由一个或多个处理器执行时,使一个或多个处理器执行根据本文提供的方法实施例所述的操作。
本文中描述的主题、动作以及操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件,或者其中的一个或多个的组合中实现,包括本文中公开的结构及其结构等同物。本文描述的主题的实施例可以被实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上用于由数据处理装置执行,或者以控制数据处理装置的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,在其上编码或存储有指令。载体可以是有形的非暂态计算机可读介质,例如,磁盘、磁光盘或者光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或者其它媒体类型。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电信号、光信号或电磁信号,其生成为对信息进行编码以传输到合适的接收器装置以由数据处理装置执行。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或其中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序也可以称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或解释性语言、或声明或程序性语言;其可以以任何形式部署,包括作为独立程序或者作为模块、组件、引擎、次例程或适合在计算环境中执行的其它单元,该环境可包括在一个或多个位置中由数据通信网络互联的一台或多台计算机。
计算机程序可以但是没有必需对应于文件***中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件中;或者多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的多个文件。
用于执行计算机程序的处理器例如既包括通用和专用微处理器,又包括任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从耦接到处理器的非暂时性计算机可读介质接收数据以及用于执行的计算机程序的指令。
术语“数据处理装置”涵盖了用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机,或多个处理器或计算机。数据处理装置可包括例如FPGA(现场可编程门阵列),ASIC(专用集成电路)或GPU(图形处理单元)的专用逻辑电路。该装置除了包括硬件之外,也可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或其中的一个或多个的组合的代码。
本文中描述的过程和逻辑流程可以由一个或多个计算机或执行一个或多个计算机程序的处理器执行,以通过对输入数据进行操作并生成输出来执行操作。该过程和逻辑流程还可通过专用逻辑电路,例如,FPGA、ASIC或GPU,或通过专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可以包括用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机也会包括或可操作地耦接以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如磁盘、磁光盘或光盘、固态驱动器或任何其它类型的非暂时性计算机可读介质。但是,计算机也不必具有此类设备。因而,计算机可以耦接到一个或多个存储设备,例如位于本地和/或远程的一个或多个存储器。例如,一台计算机可以包括作为计算机集成组件的一个或多个本地存储器,或者计算机可以耦接到位于云网络中的一个或多个远程存储器。此外,计算机也可以嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器、或诸如通用串行总线(USB)闪存驱动器等便携式存储设备,这只是列举几项。
组件可以通过直接或经由一个或多个中间组件例如电连接或光连接地彼此连接通信而彼此“耦接”。如果其中一个组件集成到另一个组件中,则这些组件也可以相互“耦接”。例如,将集成到处理器中的存储组件,例如,L2高速缓存组件,“耦接到”处理器。
为了与用户进行交互,本文中描述的主题的实施例可以在具有显示设备和输入设备的计算机上实现,或配置为与该计算机进行通信,显示设备例如为LCD(液晶显示器)监视器,用于向用户显示信息,输入设备例如为键盘和定位设备,用户可以通过输入设备向计算机提供输入,定位设备例如为鼠标、轨迹球或触摸板。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)进行交互。计算机也可以通过将文本消息或其它形式的消息发送到诸如运行消息收发程序的智能手机等个人设备,并从用户接收响应消息,来与用户进行交互。
本文使用与***,装置和计算机程序组件有关的术语“被配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的***,意味着***已经在其上安装了在运行中促使该***执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
尽管本文包含许多特定的实施细节,但是不应将这些理解为对所要求保护的范围的限制,而是作为对特定实施例特定的特征的描述,所要求保护的范围由权利要求本身限定。本文中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以单独或者以任何适合的子组合方式实现在多个实施例中。而且,尽管以上描述的特征可以以某些组合起作用并且甚至最初是这样主张的,但是在某些情况下,可以从要求保护的组合中删除该组合中的一个或多个特征,并且权利要求书也可以针对子组合或子组合的变型。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在某些情况下,多任务和并行处理会是有利的。此外,不应将上述实施例中的各种***模块和组件的分离理解为在所有实施例中都要求这种分离,并且应当理解的是,所描述的程序组件和***通常可以在单个软件产品中集成在一起或打包成多个软件产品。
已经对本主题的特定实施例进行了描述。其它实施例也落在随附权利要求的范围内。例如,权利要求书中记载的动作可以以不同的顺序执行并且仍然能够实现期望的结果。作为一个示例,附图中描绘的处理无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务并行处理可能是有利的。
Claims (15)
1.一种用于管理多个区块链网络中的交易的计算机实现方法,所述计算机实现方法包括:
由计算***识别第一区块链网络中的第一交易,所述第一交易是所述第一区块链网络中的第一哈希时间锁定合约HTLC交易;
由所述计算***识别第二区块链网络中的第二交易,所述第二交易是所述第二区块链网络中的第二HTLC交易,所述第二区块链网络不同于所述第一区块链网络;
由所述计算***确定所述第一HTLC交易的第一交易提交时间早于所述第二HTLC交易的第二交易提交时间,并且所述第一HTLC交易的第一秘密哈希值具有与所述第二HTLC交易的第二秘密哈希值相同的值;以及
响应于确定所述第一交易提交时间早于所述第二交易提交时间并且所述第一秘密哈希值具有与所述第二秘密哈希值相同的值,由所述计算***确定所述第一区块链网络中的所述第一HTLC交易与所述第二区块链网络中的所述第二HTLC交易相关联,并且所述第一HTLC交易和所述第二HTLC交易与跨链交易相关。
2.根据权利要求1所述的计算机实现方法,还包括:
由所述计算***确定所述第一HTLC交易中的第一到期时间长于所述第二HTLC交易中的第二到期时间和时间阈值之和,
其中,确定所述第一区块链网络中的所述第一HTLC交易与所述第二区块链网络中的所述第二HTLC交易相关联是响应于确定所述第一到期时间长于所述第二到期时间和时间阈值之和。
3.根据权利要求2所述的计算机实现方法,其中,
所述第一到期时间、所述第二到期时间以及所述时间阈值被配置成使得,在所述第一区块链网络中执行与所述第一HTLC交易对应的第四HTLC交易之前,在所述第二区块链网络中执行与所述第二HTLC交易对应的第三HTLC交易,以及
所述第一HTLC交易和所述第四HTLC交易与所述第一区块链网络中的第一HTLC相关联,并且所述第二HTLC交易和所述第三HTLC交易与所述第二区块链网络中的第二HTLC相关联。
4.根据权利要求3所述的计算机实现方法,其中,
所述第一HTLC被配置成使得所述第一HTLC交易在所述第一到期时间之后被放弃,以使得所述第一HTLC交易中的转让值被退还,以及
所述第二HTLC被配置成使得在所述第二到期时间之后被放弃,以使得所述第二HTLC交易中的转让值被退还。
5.根据权利要求1所述的计算机实现方法,还包括:
由所述计算***确定所述第一HTLC交易中的第一转让值和所述第二HTLC交易中的第二转让值之间的比率在比率范围内,
其中,确定所述第一区块链网络中的所述第一HTLC交易与所述第二区块链网络中的所述第二HTLC交易相关联是响应于确定所述第一转让值和所述第二转让值之间的比率在比率范围内。
6.根据权利要求5所述的计算机实现方法,其中,
所述第一区块链网络与第一货币相关联,所述第二区块链网络与第二货币相关联,以及
所述比率范围由所述第一货币与所述第二货币之间的比率的变化来预定。
7.根据权利要求1所述的计算机实现方法,还包括:
由所述计算***识别所述第二区块链网络中的第三交易,所述第三交易是所述第二区块链网络中的第三HTLC交易;
由所述计算***确定所述第三HTLC交易的第三交易提交时间晚于所述第二HTLC交易的第二交易提交时间,以及所述第三HTLC交易的第三接收方地址与所述第二HTLC交易的第二接收方地址相同;
由所述计算***确定所述第三HTLC交易中的证明的哈希值与所述第二HTLC交易的所述第二秘密哈希值具有相同的值;以及
响应于确定所述第三交易提交时间晚于所述第二交易提交时间、所述第三接收方地址与所述第二接收方地址相同、并且所述第三HTLC交易中的证明的哈希值具有与所述第二HTLC交易的所述第二秘密哈希值相同的值,由所述计算***确定所述第三HTLC交易与所述第二HTLC交易相关联,并且所述第一、第二和第三HTLC交易与所述跨链交易相关。
8.根据权利要求7所述的计算机实现方法,还包括:
由所述计算***识别所述第一区块链网络中的第四交易,所述第四交易是所述第一区块链网络中的第四HTLC交易;
由所述计算***确定所述第四HTLC交易的第四交易提交时间晚于所述第三HTLC交易的第三交易提交时间,所述第四HTLC交易的第四接收方地址与所述第一HTLC交易的第一接收方地址相同,所述第四HTLC交易的证明与所述第三HTLC交易中的证明相同;以及
响应于确定所述第四交易提交时间晚于所述第三交易提交时间、所述第四接收方地址与所述第一接收方地址相同、并且所述第四HTLC交易中的证明与所述第三HTLC交易中的证明相同,由所述计算***确定所述第四HTLC交易与所述第一、第二和第三HTLC交易相关联,并且所述第一、第二、第三和第四HTLC交易与所述跨链交易相关。
9.根据权利要求8所述的计算机实现方法,还包括:
由所述计算***基于所述第一、第二、第三和第四HTLC交易的关联,从所述第一、第二、第三和第四HTLC交易的信息导出所述跨链交易的隐藏信息。
10.根据权利要求9所述的计算机实现方法,其中,
所述第一和第二HTLC交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间、秘密哈希值或到期时间中的至少一个,以及
所述第三和第四HTLC交易各自的信息包括发送方地址、接收方地址、转让值、交易提交时间或证明中的至少一个。
11.根据权利要求9或10所述的计算机实现方法,其中,所述跨链交易的隐藏信息包括以下至少一个:
第一方,具有所述第一HTLC交易的第一发送方地址或所述第三HTLC交易的第三发送方地址中的至少一个,
第二方,具有所述第二HTLC交易的第二发送方地址或所述第四HTLC交易的第四发送方地址中的至少一个,
交换,为所述第一HTLC交易的第一转让值与所述第二HTLC交易的第二转让值之间的交换,或
交换率,为所述第一HTLC交易中的所述第一转让值与所述第二HTLC交易中的所述第二转让值之间的比率。
12.根据权利要求8所述的计算机实现方法,包括:
由所述计算***在用户界面上以可视化方式呈现所述第一、第二、第三和第四HTLC交易的信息;以及
由所述计算***以可视化方式注释所述第一、第二、第三和第四HTLC交易的关联。
13.根据权利要求8所述的计算机实现方法,其中,所述计算机实现方法包括:
通过确定根据HTLC协议执行交易,确定所述交易是HTLC交易,以及
其中,确定根据HTLC协议执行所述交易包括:确定所述交易的信息包括作为哈希锁的秘密哈希值和作为时间锁的到期时间,以及确定所述交易被配置为在所述到期时间后被放弃以使得所述交易中的转让值被退还。
14.一种用于管理多个区块链网络中的交易的***,所述***包括:
一个或多个处理器;以及
一个或多个计算机可读存储器,耦接至所述一个或多个处理器并且其上存储有指令,所述指令能够由所述一个或多个处理器执行以执行权利要求1至13中任一项所述的方法。
15.一种用于管理多个区块链网络中的交易的装置,所述装置包括多个模块,所述模块用于执行权利要求1至13中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG10202006466YA SG10202006466YA (en) | 2020-07-03 | 2020-07-03 | Managing transactions in multiple blockchain networks |
SG10202006466Y | 2020-07-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113568946A true CN113568946A (zh) | 2021-10-29 |
Family
ID=76068028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110759006.7A Pending CN113568946A (zh) | 2020-07-03 | 2021-07-05 | 用于管理多个区块链网络中的交易的方法、***和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11354657B2 (zh) |
EP (1) | EP3933642B1 (zh) |
CN (1) | CN113568946A (zh) |
SG (1) | SG10202006466YA (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595733A (zh) * | 2020-07-03 | 2021-11-02 | 支付宝实验室(新加坡)有限公司 | 用于管理多个区块链网络中的交易的方法、***和装置 |
GB2614077A (en) * | 2021-12-21 | 2023-06-28 | Nchain Licensing Ag | Signature-based atomic swap |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11669812B2 (en) * | 2020-06-05 | 2023-06-06 | Serge M Krasnyansky | Contingent payments for virtual currencies |
US11080412B1 (en) * | 2020-08-20 | 2021-08-03 | Spideroak, Inc. | Efficiently computing validity of a block chain |
US11748749B2 (en) * | 2021-06-17 | 2023-09-05 | Mastercard Asia/Pacific Pte. Ltd. | Method and system for mediated cross ledger stable coin atomic swaps using hashlocks |
US20230206231A1 (en) * | 2021-12-27 | 2023-06-29 | Paypal, Inc. | Laundering detection in second layer networks |
CN114979244B (zh) * | 2022-04-29 | 2023-12-22 | 上海交通大学 | 基于哈希时间锁定协议的多链可信交易BaaS服务平台架构 |
CN115309581B (zh) * | 2022-10-11 | 2023-01-24 | 人民法院信息技术服务中心 | 一种异构区块链跨链事务运行状态的分析方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087080A (zh) * | 2018-07-13 | 2018-12-25 | 杭州复杂美科技有限公司 | 跨链交易方法、设备和存储介质 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
CN109886661A (zh) * | 2019-01-16 | 2019-06-14 | 深圳壹账通智能科技有限公司 | 跨链数字货币兑换方法、装置、计算机***及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11038718B2 (en) * | 2016-01-27 | 2021-06-15 | Securrency, Inc. | Method, apparatus, and computer-readable medium for transaction management spanning multiple heterogeneous computing networks |
CN110771088B (zh) * | 2017-06-14 | 2024-04-19 | 区块链控股有限公司 | 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的***和方法 |
CN109214818B (zh) | 2017-06-30 | 2021-06-15 | 华为技术有限公司 | 一种跨链交易方法及装置 |
CN109426949B (zh) | 2017-08-29 | 2021-02-09 | 华为技术有限公司 | 一种跨链交易方法及装置 |
JP2021518685A (ja) * | 2018-03-23 | 2021-08-02 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | データの交換のためのコンピュータ実装されたシステム及び方法 |
US11481761B2 (en) * | 2018-06-03 | 2022-10-25 | VVOW Company Limited | Peer-to-peer cryptocurrency and crypto asset trading platform |
CN109409877B (zh) | 2018-10-09 | 2020-12-04 | 北京网录科技有限公司 | 基于htlc技术的区块链跨链价值交互方法 |
US10652019B1 (en) | 2019-08-28 | 2020-05-12 | Qed-It Systems Ltd. | Atomic swap using zero-knowledge proofs, and applications thereof |
CN111161062B (zh) | 2019-12-05 | 2023-10-03 | 深圳前海微众银行股份有限公司 | 一种跨链交易的方法及装置 |
CN111144883B (zh) | 2019-12-06 | 2023-05-16 | 深圳前海微众银行股份有限公司 | 一种区块链网络的处理性能分析方法及装置 |
CN111160881A (zh) * | 2019-12-11 | 2020-05-15 | 马上游科技股份有限公司 | 去中心化的侧链发行锚定主链代币的方法及*** |
EP4100904A1 (en) * | 2020-02-04 | 2022-12-14 | QPQ Limited | A system and a method for performing atomic swap transactions of digital records among a plurality of distributed databases |
-
2020
- 2020-07-03 SG SG10202006466YA patent/SG10202006466YA/en unknown
-
2021
- 2021-06-15 EP EP21179379.9A patent/EP3933642B1/en active Active
- 2021-06-25 US US17/359,467 patent/US11354657B2/en active Active
- 2021-07-05 CN CN202110759006.7A patent/CN113568946A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087080A (zh) * | 2018-07-13 | 2018-12-25 | 杭州复杂美科技有限公司 | 跨链交易方法、设备和存储介质 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
CN109886661A (zh) * | 2019-01-16 | 2019-06-14 | 深圳壹账通智能科技有限公司 | 跨链数字货币兑换方法、装置、计算机***及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595733A (zh) * | 2020-07-03 | 2021-11-02 | 支付宝实验室(新加坡)有限公司 | 用于管理多个区块链网络中的交易的方法、***和装置 |
GB2614077A (en) * | 2021-12-21 | 2023-06-28 | Nchain Licensing Ag | Signature-based atomic swap |
Also Published As
Publication number | Publication date |
---|---|
SG10202006466YA (en) | 2021-05-28 |
EP3933642B1 (en) | 2023-08-09 |
US20210398116A1 (en) | 2021-12-23 |
US11354657B2 (en) | 2022-06-07 |
EP3933642A1 (en) | 2022-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110291756B (zh) | 在区块链机密交易中恢复加密交易信息 | |
TWI712306B (zh) | 在區塊鏈網路中的跨資產交易的方法、電腦可讀儲存媒體及系統 | |
US11282325B2 (en) | System and method for information protection | |
US11277389B2 (en) | System and method for information protection | |
EP3933642B1 (en) | Managing transactions in multiple blockchain networks | |
CA3040611C (en) | System and method for information protection | |
AU2018347195B2 (en) | System and method for information protection | |
CN113595734B (zh) | 用于管理多个区块链网络中的交易的方法、***和装置 | |
JP6880255B2 (ja) | ブロックチェーン機密トランザクションの管理 | |
EP3933641B1 (en) | Managing transactions in multiple blockchain networks | |
TW202008271A (zh) | 區塊鏈交易方法及裝置、電子設備 | |
TW202029086A (zh) | 基於區塊鏈的存證方法和裝置 | |
CN112513906A (zh) | 管理区块链网络上的交易 | |
CN111316597A (zh) | 基于智能合约和区块链的互助网络 | |
CN112074862A (zh) | 基于消息反馈的存储管理 | |
Clack et al. | Distributed Ledger Privacy: Ring Signatures, M\" obius and CryptoNote | |
AU2019101582A4 (en) | System and method for information protection | |
AU2019101590A4 (en) | System and method for information protection | |
Ackerer et al. | The Underlying Technology for Cryptoassets |
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 |