CN113874897A - 用于通过区块链网络实现转账的计算机实现的***和方法 - Google Patents
用于通过区块链网络实现转账的计算机实现的***和方法 Download PDFInfo
- Publication number
- CN113874897A CN113874897A CN202080014605.XA CN202080014605A CN113874897A CN 113874897 A CN113874897 A CN 113874897A CN 202080014605 A CN202080014605 A CN 202080014605A CN 113874897 A CN113874897 A CN 113874897A
- Authority
- CN
- China
- Prior art keywords
- transaction
- blockchain
- resource
- bob
- alice
- 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
- 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/389—Keeping log of transactions for guaranteeing non-repudiation 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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
- 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/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for 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
- 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
-
- 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/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明为区块链实现的转账提供了改进的验证解决方案。所述改进的验证解决方案适用于但不限于在SPV钱包中实施。根据一个实施方案,提供了一种***或资源,所述***或资源包括多个新颖的SPV验证组件,所述多个新颖的SPV验证组件的活动由协调组件协调。所述***使鲍勃能够向爱丽丝发送支付交易模板(模板Tx3)并请求以下各项:所有输入交易(Tx1,Tx2)的完整交易数据,包括爱丽丝想要花费的至少一个输出,作为转账(Tx3)的输入;所有输入交易(Tx1,Tx2)的默克尔路径,将它们链接到与它们相应的区块头相关联的相应的默克尔根;完成的转账交易(Tx3)。爱丽丝提供了此信息以及她的签名。然后,鲍勃可使用交易Tx1和Tx2、它们对应的默克尔路径路径1、路径2以及鲍勃的本地区块头列表对输入交易Tx1、Tx2执行本地SPV检查。鲍勃将所述转账交易(Tx3)广播到所述P2P网络。
Description
技术领域
本发明整体涉及经由网络进行资源通信和转账,并且更具体地涉及通过区块链网络以及数字钱包进行转账。本发明特别适合但不限于用于处理在区块链上实现或通过区块链通信的加密货币、代币和其他资源的转账的钱包。本发明提供了提供多种技术优势的装置和技术,包括但不限于提高数字钱包和基于区块链的通信的安全性、多功能性、弹性和效率。
背景技术
在本文中,“区块链”一词涵盖所有形式的基于计算机的电子分布式分类账。这些分类账包括基于共识的区块链和交易链技术、许可和非许可的分类账、共享分类账,及其变体。虽然已提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币分类账。尽管出于方便和说明的目的在本文中可能会提及比特币,但需要说明的是,本发明不限于与比特币区块链一起使用,其他的区块链实施方式和协议也属于本发明的范围。“比特币”一词可包括源自或实现比特币协议的任何变体的协议或具体实施的所有实现方式。“用户”一词在本文中可指人员或基于处理器的资源。
区块链是一种点对点的电子分类账,其实现为基于计算机的去中心化的分布式***,所述***由区块组成,而区块又由交易组成。每个交易都是一种数据结构,该数据结构对区块链***参与者之间的数字资产控制权的转账进行编码,并且包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,因此区块被链接在一起,以创建自所述区块链创建以来写入其中的所有交易的永久性的不可更改的记录。每个区块的头包含字段,该字段为该区块提供默克尔根。默克尔根是通过将区块中的交易ID对一起反复进行哈希直到达到单个哈希来生成的。此默克尔根提供一种有效机制来验证(verify)交易是否是区块的一部分,因为它允许用户验证特定交易而无需下载整个区块链。
交易包括嵌入到其输入和输出中的小程序,称为脚本,这些脚本指定如何以及由谁访问所述交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
为了将交易写入区块链,必须对其进行“核实(validate)”。网络节点(矿工)进行工作以确保每个交易均有效,而无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本对未花费的交易(UTXO)执行此核实工作。如果锁定和解锁脚本的执行评估为真,则交易有效,将交易写入区块链。因此,为了将交易写入区块链,该交易必须:i)由接收该交易的第一个节点进行核实,如果该交易通过核实,则此节点将其转发到网络中的其他节点;ii)添加到由矿工建造的新区块中;iii)已挖掘,即已被添加到历史交易的公共分类账中。(注:上述的核实(validation)不应与本文使用的用于意指确认或检查特定交易是否已包含在区块链上的区块中的“验证(verification)”一词混淆)。
一旦作为UTXO存储在区块链中,用户就可将相关联加密货币的控制权转移到与另一交易中的输入相关联的另一地址。这通常使用数字钱包来完成,该数字钱包存储与用户的加密货币相关联的公钥和私钥对。已知的加密货币钱包有多种形式,包括SPV钱包(简单支付验证、简易支付验证或简易付款验证Simplified Payment Verification)。
在爱丽丝和鲍勃之间的基于SPV的加密货币交换中,双方使用相同类型的SPV钱包。SPV钱包存储用户的私钥和公钥、未花费的交易和区块头。SPV钱包还具有连接到区块链网络的能力。“区块头”一词是本领域已知的,用于指在区块链交易的区块顶部提供的数据。区块头唯一地标识区块,因此它可定位在区块链上。区块头包含提供整个区块的内容的唯一汇总或指纹的数据字段。区块头包括默克尔根,默克尔根是该区块中所有交易的哈希值。然后,用户能够使用该根搜索默克尔树,以检查(即验证)特定交易是否包含在区块链上的特定区块中,而无需下载整个区块链。
SPV钱包的一个优点是,它使诸如手机和笔记本电脑的电力和存储受限设备能够在比特币生态***中运行,因为它只需要检查交易是否已通过验证(因此称为“简单支付验证”),而不是按照其他形式的钱包对区块链进行全面检查。由于SPV钱包只下载区块头而不包含任何交易,这将所需的存储空间从159GB(截至2018年11月)减少到43MB,即使比特币规模不断扩大,存储需求也只会以每年4.2MB的速度增长。
假设爱丽丝希望向鲍勃发送一些加密货币或代币化资产/资源。当使用传统SPV钱包时,爱丽丝和鲍勃之间的通信流程如下:
1.爱丽丝创建区块链交易(TX),在输出中指定鲍勃的地址,并为输入(从之前未花费的交易到爱丽丝)提供签名。
2.爱丽丝将交易广播到区块链网络。
3.鲍勃查询网络以验证交易是否已被接受。
本质上,区块链网络充当了爱丽丝的钱包和鲍勃的钱包之间的中介。然而,这不仅仅是资源密集型过程,而且需要网络连接。如果运行爱丽丝钱包的设备由于某种原因离线,则无法完成转账。因此,存在技术挑战,包括但不限于如何提供用于实现从一个实体(例如,计算资源/节点/数字钱包)到另一实体的电子转账的更可靠和有效的机制的方法、***和设备。
发明内容
因此,希望提供一种至少解决这些技术问题的解决方案。现在已设计出这种改进的解决方案。因此,根据本公开,提供了一种如所附权利要求中所限定的***。根据本公开,可以提供一种基于计算机的***。除此之外或另选地,该***可以称为区块链实现的***和/或验证***。该***可以称为数字钱包。该***可以在单个设备或多个设备上实现。
本公开的实施例可以提供一种可操作以促进或实现在区块链网络上或通过区块链网络在转出方和转入方之间的资产转账的计算机实现的***和/或资源,该计算机实现的***和/或资源。转出方(资产的发送方)可以称为爱丽丝,而转入方(资产的接收方)可以称为鲍勃。资产可为或可包括任何类型的可转账的电子实体,例如可以经由区块链交易以某种方式进行数字转让的加密货币或代币或任何其他东西的一部分。
本公开的实施例可以基本上如题为“PoS SPV钱包的扩展-***钱包”的部分所述,并且如图所示,特别是图3、图5、图6和图10。其可以称为***钱包(split wallet)或主钱包(master wallet)。该***可以包括一个或优选地多个验证资源,其可以基本上如本文所述的“商户PoS SPV”。该***可包括协调组件(coordination component),该协调组件操作以协调验证资源(即,商户PoS SPV钱包)的活动。
本公开的***的实施例可包括:
至少一个验证资源,该至少一个验证资源包括至少一个公钥并且被布置用于接收和/或请求以下各项:
与至少一个区块链交易相关的完整交易数据;和
用于至少一个区块链交易的默克尔(Merkle)路径;
私钥,该私钥与至少一个多个公钥相关联;以及
协调组件,该协调组件操作以与至少一个验证资源通信。
验证资源可以操作用于与提供的资源进行通信。提供资源可为资产的转出方。可以由验证资源从提供资源接收和/或请求完整交易数据和/默克尔路径。提供资源可以存储完整交易数据和默克尔路径。
有利的是,可以从提供资源(爱丽丝)向验证资源(鲍勃)提供默克尔路径,而不是必须从区块链网络上的对等方获得默克尔路径。这允许鲍勃对至少一个交易执行本地SPV检查,而无需访问区块链或网络或与区块链或网络通信。
此外,可以使用链下通信在鲍勃和爱丽丝之间发送数据、请求和响应。“链下通信”一词旨在表示通信不经由区块链或区块链网络进行,不查询区块链或区块链网络,也不与区块链或区块链网络交互。
公钥是公钥-私钥对的一部分。在其中***包括多个验证资源的实施例中,每个验证资源具有至少一个公钥,每个公钥与相应的私钥相关联。
验证资源可操作以:
验证指定的交易是否存储在区块链上;和/或
通过区块链促进或实现从一个地址到另一地址的转账。
优选地,该***包括多个验证资源并且协调组件操作以从多个验证资源中选择一个验证资源并使验证资源:
验证指定的交易是否存储在区块链上;和/或
通过区块链促进或实现从一个地址到另一地址的转账。
交易数据可以是完整的,即足以根据区块链协议形成有效的区块链交易。它可以称为“完整”交易数据。
验证资源(和/或提供资源)可以包括硬件和软件的组合,或者可以完全基于软件。***和/或验证资源在下文中可以称为鲍勃,并且提供资源可以称为爱丽丝。
可以在至少一个验证资源中提供私钥。另选地,可以在协调组件中提供私钥。
协调组件可操作以向区块链网络发送交易相关数据和从区块链网络接收交易相关数据。协调组件可操作以查询UTXO集。
协调组件可操作以向至少一个验证资源发送至少一个公钥和/或交易标识(TXID)和从至少一个验证资源接收至少一个公钥和/或TX ID。私钥可以是种子。
至少一个验证资源可操作以:
使用默克尔路径验证至少一个交易的默克尔证明;和/或
存储、接收和/或请求区块链交易的至少一个区块头;
可以从提供资源接收和/或请求完整交易数据或默克尔路径,该资源可操作以存储和/或发送以下各项:
与至少一个区块链交易相关的完整交易数据;以及
至少一个区块链交易的默克尔路径。
所请求数据的请求和/或传输可以使用链下通信来执行,这意味着该通信不涉及区块链网络和/或区块链本身。
提供资源和/或验证资源可为或可包括:(数字)钱包或包括这种钱包的资源,和/或智能卡。钱包可为轻量级/SPV钱包。它可以是大体上如本文中关于爱丽丝所述和/或在题为“离线SPV钱包”的部分中所述并在图1、图2、图5和图6中所示的资源或钱包。
提供资源可操作以向***提供转账数据,该转账数据包括:
与至少一个未花费的区块链交易输出(UTXO)相关的数据;
用于包含至少一个未花费的区块链交易输出(UTXO)的交易的交易标识(TXID);
用于花费至少一个未花费的区块链交易输出(UTXO)的签名;
用于包含至少一个未花费的区块链交易输出(UTXO)的交易的默克尔路径;和/或
公钥地址。
该***可操作以向提供资源发送转账值和/或输出地址;和/或从提供资源接收转账值和/或输出地址。转账值可为一定数量的加密货币。转账值可为待转账的资产或资产的价值。转账值可为支付金额。
该***可操作以向提供资源发送对转账数据的请求,该转账数据包括以下至少一项:
与至少一个未花费的区块链交易输出(UTXO)相关的数据;
用于包含至少一个未花费的区块链交易输出(UTXO)的交易的交易标识(TXID);
用于花费至少一个未花费的区块链交易输出(UTXO)的签名;
用于包含至少一个未花费的区块链交易输出(UTXO)的交易的默克尔路径;和/或
公钥地址。
可由该***使用区块链交易模板从提供资源请求和/或接收转账数据。该模板可包括形成有效区块链交易所需的部分信息(但不是全部)信息。某些数据可能丢失,以便***完成所需的转账。提供资源可以通过更新或完成区块链交易模板来提供转账数据。模板可以由***提供给提供资源。该模板也可以称为“不完整(区块链)交易”。
该***可操作以在成功验证用于至少一个区块链交易的默克尔证明后,向区块链网络提交区块链交易。这可以是如本文所描述和所公开的并且参考图8和图10的Tx3。它可以是包括花费至少一个区块链交易的输出(UTXO)的输入的区块链交易。
该***可包括:处理器;以及存储器,该存储器包括可执行指令,处理器执行所述可执行指令时,使得该***执行本文所述或所要求保护的本公开的任何实施例。
本公开的实施例还可提供一种非暂时性计算机可读存储介质,其上存储有可执行指令,计算机***的处理器执行所述可执行指令时,使得计算机***提供本文所述的本发明的实施例。
本公开的这些方面和其他方面将从本文所述的实施例中变得显而易见,并参考本文所述的实施例进行阐述。现将仅通过举例的方式并参考附图对本公开的实施例进行说明,其中:
附图说明
图1示出了根据本公开的实施例的“离线SPV钱包”的图示。
图2示出了根据本公开的实施例的“在线和离线SPV钱包”的图示。
图3示出了根据本公开的实施例的“PoS SPV钱包”的图示。
图4示出了根据本公开的实施例的部分和完成的模板交易以及相关联的默克尔证明。
图5示出了根据本公开的实施例的在使用***SPV钱包进行交易时爱丽丝和鲍勃之间的数据流和交互。
图6示出了本公开的实施例的在使用中的示意图。
图7是示出可实现各种实施例的计算环境的示意图。
图8是示出了三个交易和可用于将它们与区块(头)相关联的默克尔路径的示意图。
图9示出了传统的SPV支付方法。
图10示出了根据本公开的实施例的方法的图示。
图11示出了现有技术中已知的二叉默克尔树的示例。
图12示出了根据现有技术的使用默克尔路径的由根R表示的树中的数据块D1的默克尔存在证明。
具体实施方式
现有技术:默克尔树
由于本发明充分利用了默克尔树的概念,因此仅以背景的方式提供说明。
默克尔树是分层数据结构,能够对数据集合进行安全验证。在默克尔树中,树中的每个节点均被提供索引对(i,j),并且表示为N(i,j)。索引i、j只是与树中的特定位置相关的数字标签。默克尔树的一个重要特征是,其每个节点的构造由以下(简化)方程式控制:
其中k=(i+j-1)/2和H为加密哈希函数。
根据这些方程式构建的标记的二叉默克尔树如图11所示,从图中可以看到i=j情况对应于叶节点,叶节点只是对应的第i个数据分包Di的哈希值。i≠j情况对应于内节点或父节点,它是通过递归哈希和连接子节点直到找到一个父节点(默克尔根)而生成的。
例如,节点N(1,4)由四个数据分包(data packet)构造D1,...,D4为
N(1,4)=H(N(1,2)||N(3,4))
=[H(N(1,1)||N(2,2))||H(N(3,3)||N(4,4))]
=[H(H(D1)||H(D2))||H(H(D3)||H(D4))]。
树的深度M被定义为树中节点的最低级别,节点的深度m是节点所在的层级。例如,mroot=0并且mleaf=M,其中在图11中,M=3。
默克尔证明
默克尔树的主要功能是验证某个数据分包Di是N个数据分包 的列表或集合的成员。验证的机制被称为默克尔证明,包括为给定的数据分包Di和默克尔根R获得一组称为默克尔路径的哈希值。数据分包的默克尔路径只是通过反复哈希和串联的方式重建根R所需的最小哈希列表,通常称为“认证路径”。如果验证程序知道所有分包D1,...,DN,则可以简单地执行存在证明。然而,这确实需要比默克尔路径大得多的存储开销,并且需要整个数据集可供验证程序使用。使用默克尔路径和使用整个列表之间的比较如下表所示,其中使用了二叉默克尔树,并假设数据块的数量N正好等于2的整数幂。如果不是这种情况,默克尔证明所需的哈希数在每个实例中都会相差±1。
表:默克尔树中的叶节点数与默克尔证明所需的哈希数之间的关系。
在这个简化场景中(其中数据分包的数量等于叶节点的数量),已发现,计算默克尔证明所需的哈希值的数量以对数方式缩放。显然,计算涉及logKN哈希的默克尔证明比存储N个数据哈希值并计算简单证明要高效和实用得多。
方法
i.从可信源获得默克尔根R。
ii.从源获得默克尔路径Γ。在这种情况下,Γ是哈希值的集合:
Γ={N(2,2),N(3,4),N(5,8)}。
iii.使用D1和Γ计算默克尔证明如下:
a.对数据块进行哈希以得到:
N(1,1)=H(D1)。
b.与N(2,2)串联(concatenate)并进行哈希以得到:
N(1,2)=H(N(1,1)||N(2,2))。
c.与N(3,4)串联并进行哈希以得到:
N(1,4)=H(N(1,2)||N(3,4))。
d.与N(5,8)串联并进行哈希以得到根:
N(1,8)=H(N(1,4)||N(5,8)),
R′=N(1,8)。
e.将所计算的根R′与(i)中获得的根R进行比较:
这是一种有效机制,可以为作为由默克尔树及其根表示的数据集的一部分的某些数据提供存在证明。例如,如果数据D1对应于区块链交易,并且根R作为区块头的一部分公开可用,那么可以快速证明该交易包含在该区块中。
作为示例性默克尔树的一部分,验证D1存在的过程如图12所示,该图显示了使用默克尔路径由根R表示的树中数据块D1的默克尔存在证明。这表明对给定的块D1和根R执行默克尔证明,仅使用必要的最少哈希值就可以有效地“向上”遍历默克尔树。
本发明使用这些技术来提供更有效和更安全的验证解决方案,现在将注意力转向讨论。
简单支付验证(SPV)
由于本发明提供了改进的SPV解决方案,为了便于参考,现在提供已知SPV验证技术的概述。在下文中,考虑爱丽丝(顾客)和鲍勃(商户),他们希望在某些商品的销售点进行交易。如Nakamoto***(“比特币:点对点电子现金***”,Satoshi Nakamoto,[2008]www.bicoin.org/bitcoin.pdf)中所述,使用传统方法使用简单支付验证(SPV)来研究这种交互是如何发生的。稍后在题为“发明概述”的部分中,关于本发明的说明性实施例描述相同的交互。在这两种情况下,考虑三个区块链交易(Tx)的作用。两个交易具有爱丽丝拥有的可花费的输出(UTXO):
·Tx1–具有可花费的输出(vout-1)的交易
·Tx2–具有可花费的输出(vout-0)的交易
这些交易Tx1、Tx2在本文将被称为输入交易,简明地说,它们是由一些后续交易(例如,Tx3)的输入所花费的输出组成的交易。
第三区块链交易为支付(转账)交易:
·Tx3–使用vout-0和vout-1作为其两个输入和一个输出并向鲍勃支付的交易。为了更简单地演示本发明,只有两个输入和一个输出。
图8中示意性地示出了,这三个交易以及可用于将它们与区块(头)相关联的默克尔路径。
SPV的基本概念自Nakamoto***以来就已存在,并在最初的比特币客户端(v0.1,2009)中实现。本质上,SPV利用了比特币区块链的两个属性:
1.默克尔证明,其可很容易地用来验证给定交易是否包含在默克尔树中并由默克尔根表示;以及
2.区块头,其通过包含交易的默克尔树的默克尔根来表示交易区块。
通过结合这两种属性,轻量级比特币客户端只需维护整个区块链的区块头副本,而不是整个区块,即可验证交易已被网络处理。为了验证给定交易已被处理并包含在区块中,SPV客户端仅需以下各项:
·最新区块头的完整列表;
·所考虑的交易的默克尔路径。
从属性1可以看出,SPV用户可以验证给定交易是默克尔树的一部分(由默克尔根表示),只需执行上一部分中解释的默克尔路径认证证明即可。然后,从属性2中可以看出,如果SPV客户端具有包含此默克尔根的有效区块头,则该交易也是区块链中区块的一部分。在比特币中执行这种类型的支付验证在本文被称为执行“SPV检查”。
Nakamoto指定的这种SPV机制通知SPV客户端实现方式的现有方法,包括在销售点的方法。重要的是,SPV实现方式中的最新技术基于这样一种范例,即用户通过确认(在区块链上的适当深度,例如6)支付已包含在区块中来验证已收到支付。实际上,这是对交易的广播后检查,以验证它是否已被挖掘。
相比之下,本发明要求在广播之前对交易的输入执行必要的SPV检查。这种重点的转移大大减少了网络在处理无效交易时的负担和流量。
现有SPV***中的第二个重要范例是,SPV客户端必须查询网络上的完整节点,以获得SPV检查所需的默克尔路径。这可以在比特币开发者指南(https://bitcoin.org/en/developer-guide)中看到,该指南指出“SPV客户端知道默克尔根和相关联的交易信息,并从全节点请求相应的默克尔分支”。
本发明的实施例提供涉及SPV检查的机制和方法,通过规定轻量级比特币客户端用户保留、维护或至少有权访问与其所拥有的未花费的交易输出相关的默克尔路径的自己的副本,从而消除网络上的这一负担。
实现SPV(在交易点)的传统方法如下,并参考图9:
[1]消息:鲍勃向爱丽丝
·鲍勃(商户)向爱丽丝(顾客)发送他的公钥地址。除了作为鲍勃选择的赎回脚本的哈希值提供的任何其他支出条件之外,他的消息还可能包括要支付的金额。
·爱丽丝还将支付交易Tx3的交易ID TxID3传送给鲍勃(未示出)。
[2]P2P网络介导(mediate)爱丽丝和鲍勃之间的交换:
[2.i]消息:爱丽丝向P2P网络
·爱丽丝将Tx3广播到网络。
[2.ii]消息:鲍勃向P2P网络
·鲍勃查询网络以检查Tx3是否被接受用于挖掘区块链。
·鲍勃发送连续查询[2.ii],直到他对网络认为支付有效感到满意。需注意,他可能在[2.i]发生之前就开始查询了。
·如果鲍勃满意,他可以将交易视为完成,而无需任何一方等待下一个区块被挖掘。
[3]SPV检查(消息):鲍勃向P2P网络
·鲍勃等待下一区块被挖掘,并在网络上广播时下载新的区块头。
·鲍勃向网络发送“SPV检查”请求。这是对于与Tx3相对应的默克尔路径的请求,该路径将其链接到最近挖掘的区块中的默克尔根。
·如果网络可为鲍勃提供默克尔路径,则他可以使用他的SPV钱包自己计算默克尔证明并检查支付Tx3是否已处理。
图9中示出了此通信流程。应注意的是,[2.i]、[2.ii]和[3]是由P2P网络介导的,因此对网络上的流量有贡献。还应注意的是,在现有的SPV范例中,执行必要的SPV检查[3]:
·在支付(Tx3)提交后;
·关于支付(Tx3)本身;
·在提供默克尔路径的其他网络对等方的帮助下。
现在将这种已知的方法与本发明的方法进行对比。
发明概述
本发明为使用低带宽SPV***在区块链网络(为方便起见,以下将其称为“比特币”网络)上进行的验证提供了改进的安全性和转账解决方案。根据本发明的一个实施例,资源的发送方(例如,顾客)不需要在线,接收方(例如,商户)就可以创建和/或接受交易。仅接收方需要在线。为了方便和便于参考,将使用“顾客”或“爱丽丝”一词代替“发送方”,并使用“商户”或“鲍勃”代替“接收方”。
相对于传统SPV交易,本发明在各方之间采用了新颖的通信流程,因为它仅要求将商户的钱包连接到网络。这是通过商户的钱包创建模板(可称为“不完整交易”)来实现的,该模板包含顾客需要提供的信息,例如找零地址(change address)、签名等。一旦商户从顾客处收到此请求信息,他就会将交易广播到网络。
因此,本发明引起了在比特币网络上的在一简单支付验证期间的在交易方与网络之间的通信和交换过程的根本变化,从:
商户→顾客→网络→商户
到:
商户→顾客→商户→网络
爱丽丝和鲍勃可以使用例如WO 2017145016中所描述的秘密共享协议来安全地交换消息。
这一过程中的变化产生了一个技术问题,即顾客钱包和商户钱包都需要一种新颖的设计。因此,本发明的实施例至少提供以下内容:
1.爱丽丝的新颖顾客钱包(称为“离线钱包offline wallet”):它存储爱丽丝的公钥、私钥、包含可花费的输出的交易、所有区块头,以及重要的是,所存储交易的默克尔路径(删除了爱丽丝连接到网络的要求)
2.新颖的鲍勃商户钱包(称为“销售点(PoS)钱包Point of Sale wallet”):它存储鲍勃的公钥和所有区块头。
现在提供了这些组件的更详细描述。
参考图10,提供了根据本发明的实施例的用于实现SPV(在交易点)的例示性方法,如下所示:
[1]消息:鲍勃向爱丽丝
·鲍勃向爱丽丝发送支付交易模板(模板Tx3),并向爱丽丝请求以下信息:
ο所有输入交易(Tx1和Tx2)的完整交易数据,包括至少一个输出,爱丽丝希望将其用作支付(Tx3)的输入;
ο所有输入交易(Tx1和Tx2)的默克尔路径,将它们链接到与相应区块头相关联的相应默克尔根;
ο完成(即填写了模板)的支付交易(Tx3)。
·需注意,鲍勃向爱丽丝请求信息,而不是发送他的地址。
[2]消息:爱丽丝向鲍勃
·爱丽丝将所请求的信息发送给鲍勃:
ο所有输入交易(Tx1和Tx2)的完整交易数据,包括至少一个输出,爱丽丝希望将其用作支付(Tx3)的输入;
ο所有输入交易(Tx1和Tx2)的默克尔路径,将它们链接到相应的区块头;
ο完成(即填写了模板)的支付交易(Tx3)。除了填写模板,爱丽丝还提供了她的签名。
[3]SPV检查(本地):鲍勃
·鲍勃使用以下各项对输入交易Tx1和Tx2执行SPV检查:
ο交易Tx1和Tx2;
ο对应的默克尔路径,路径1和路径2;
ο鲍勃的本地区块头列表。
·这些检查由鲍勃在本地执行,而不通过P2P网络进行;
·在优选实施例中,在此阶段,鲍勃还对他从爱丽丝收到的支付Tx3执行适当的检查,以确保:
ο支付Tx3与鲍勃预期的一样;
ο爱丽丝的签名对该交易有效。
[4]消息:鲍勃向P2P网络
·鲍勃将支付交易(Tx3)广播到P2P网络。在现有范例中,爱丽丝将交易提交给网络。
·只有在Tx3所有输入的SPV检查[3]都是肯定的情况下,才能执行此操作。
[5]SPV检查(消息):鲍勃向P2P网络
·此步骤与SPV方法的现有范例中的步骤[3]相同(见前面)。
图10中示出了此通信流程。应注意的是,只有[4]和[5]是由P2P网络介导(mediate)的。步骤[5]只不过是对现有SPV技术的重复,并不是所提出方法的必要特征;为了完整性和现有范例与本发明之间的区别,这里包括本发明。
需注意,根据本发明的实施例,执行必要的SPV检查[3]:
·在支付交易(Tx3)提交之前;
·关于到支付交易(Tx3)的输入交易(Tx1和Tx2);
·无需网络对等方的帮助即可提供默克尔路径(由爱丽丝提供)。
本发明的实施例的特征包括但不限于:
·爱丽丝不需要在线,也不需要自己向网络提交任何信息。这对爱丽丝来说更可靠。它还允许她使用无法连接到网络的设备,诸如智能卡。
·包含默克尔路径允许鲍勃快速拒绝来自爱丽丝的任何无效输入。通过拒绝提交具有无效默克尔路径的“垃圾邮件”交易,这减轻多余的网络流量。
·鲍勃与网络的连接可能特别快,因此他核实交易的速度可能更快。
·鲍勃创建交易供爱丽丝签名,因此对交易的内容有更多的控制权,例如,他可以选择支付更多的交易内费用,这将确保该交易被网络接受。
·鲍勃的钱包不需要包含任何私钥。这提高了安全性,因为私钥不能被未经授权的第三方访问或泄露。
·向网络提交交易的责任依赖于鲍勃。
·爱丽丝的SPV钱包必须有私钥,并且能够对交易进行签名。因此,它必须有足够的处理能力来进行椭圆曲线点乘运算。
现在更详细地考虑本发明的各种组件。
离线SPV钱包
离线SPV的实施例在图1中示意性地示出,并且包括以下特征:
1.TX–预加载的完整交易数据,包含爱丽丝可用的未花费的交易输出。此完整交易数据与默克尔路径一起构成默克尔证明,证明爱丽丝正在花费的交易是有效的。对整个交易进行哈希将得到交易标识(TXID),这是爱丽丝希望完成的新交易的输入数据的一部分。需注意,仅提供TXID是不够的,因为鲍勃必须能够验证TXID确实是交易的哈希值。这只有在她向鲍勃提供完整交易数据时才可能,因此她必须存储它或者至少在需要时可以访问它。
2.私钥/公钥–钱包必须有权访问一组私钥以便对交易输出进行签名,还必须有权访问公钥以在进行交易时指定找零地址。
3.默克尔路径–包含交易输出(UTXO)的每个交易的(完整)默克尔路径。这将被商户的销售点钱包用来验证TX是否有效。应注意的是,虽然此钱包提供的默克尔证明并不能防止双重花费,但它确实充当一种快速失败机制,抵御垃圾邮件攻击,从而提高了钱包的稳健性和安全性。
4.最少处理–离线SPV钱包需要对未花费的交易进行签名,以便使用它们。这要求离线钱包(及其安装的设备)能够实现诸如ECDSA的加密算法,这意味着需要足够的处理能力来执行椭圆曲线点乘运算和计算哈希函数。
5.区块头(可选的)–离线SPV钱包可能希望包含区块头,以验证向销售点SPV钱包的支付已被处理。这还需要在与销售点钱包交互后存储TXID和默克尔路径。
在一个或多个实施例中,上述内容可实现为同时具有在线和离线状态或功能的钱包。当钱包需要更新其UTXO和默克尔路径集时,这可能是有利的。
在这样的实施例中,爱丽丝的钱包可以通过与传统SPV钱包相同的方式暂时连接到网络来下载数据。这在图2中示出,为方便起见,可以将其称为在线和离线SPV钱包。
一旦连接,爱丽丝的钱包就可以下载完整交易、默克尔路径和区块头。本领域中已知的具有1个输入和2个输出的标准P2PKH交易为226字节,区块头为80字节,并且包含100,000个交易的区块中的交易的默克尔路径大约为560字节。将这三者结合起来意味着更新爱丽丝的SPV钱包只需要为每个新输入下载不到1MB的数据。这甚至可以通过低带宽连接实现,这是非常有利的。
使用此实现方式的钱包是有利的,因为它提供了能够使用区块链促进离线支付和验证的益处,同时保持在需要时连接到网络的能力。额外的在线状态可用于更新区块头列表、获得新的TX和相关联的默克尔路径,甚至在需要时发送交易。
在线和离线SPV有多种可能的用例,包括软件应用程序和非接触式支付卡。
PoS SPV钱包
PoS SPV钱包被设计来实现鲍勃接受来自爱丽丝的转账所需的最低功能,爱丽丝正在使用如上所述的离线SPV钱包。这些要求是鲍勃必须能够:
·生成销售点交易模板。
·计算与区块头相关联的默克尔证明。
·连接并广播到网络,包括对UTXO集的查询。
·管理接收支付的公钥地址
·更新他的包含爱丽丝的UTXO的完整TX数据列表。
根据图3所示的原理图设计,PoS SPV钱包满足上述所有要求,并包括以下特征:
1.区块头–PoS SPV钱包维护与区块链中的区块相对应的区块头数据列表的最新副本。当呈现交易及其默克尔路径时,PoS SPV钱包可以通过对默克尔根重复哈希来执行简单的默克尔证明。
通过将此根与相关区块头中的根进行比较,鲍勃拥有一种有效的快速失败机制来检测错误或欺诈性支付。
2.网络连接–PoS SPV钱包具有连接网络的能力。这包括(但不限于)向区块链网络广播新签名交易以及查询当前UTXO集中是否存在特定UTXO的能力。
3.公钥存储–PoS SPV钱包只需要存储鲍勃想要接收资产或支付的公钥地址。这可以通过多种方式来完成,例如,通过使用确定性秘密(诸如在WO 2017/145016中公开的)或使用分层确定性钱包结构。
通过在销售点仅存储公钥地址而不是相关联的私钥,“有卡”交易的安全性大大提高,因为鲍勃的私钥不容易被泄露,因此资金受到保护。
4.最少处理–PoS SPV钱包只需要根据爱丽丝填写的模板执行最低限度的Merkle证明处理。
这大大减少了迭代和处理完整块以独立获得默克尔路径的负担,从而加快了销售点/交易流程,加快了资源在网络上的转移,并提高了鲍勃和爱丽丝的效率。
应注意的是,在至少一个实施例中,销售点SPV钱包将维护整个区块头列表的副本,以确保鲍勃始终能够针对区块链历史中的任何交易在默克尔路径上执行SPV检查。然而,鲍勃可能选择不保留完整区块头列表,例如那些对应于不包含具有可花费输出的交易的区块。在这种情况下,应理解,鲍勃可能需要偶尔查询第三方以获得他还没有的区块头。在下一部分中,详细说明鲍勃根据一个或多个实施例发送给爱丽丝的商户销售点模板,并且应当理解,如果鲍勃没有所有区块头的完整列表,则他可以将对与她未花费的交易输出相关联的区块头的请求合并到此模板中。
PoS SPV钱包模板
转到图4,鲍勃的PoS SPV钱包以以下格式从爱丽丝的离线(或离线/在线)钱包请求信息:
1.TX/UTX–来自爱丽丝的可花费交易的完整交易数据(如上所述)。
2.交易模板–部分完整的区块链交易,包括(至少)鲍勃的输出地址和爱丽丝请求的加密货币数量。为了完成交易,爱丽丝的离线钱包必须(至少)提供来自她的未花费的交易输出中的TXID、每个要使用的可花费的TX输出的有效签名以及找零地址。
3.默克尔路径–当与完整的、已完成的交易结合时,可以构建默克尔证明来验证爱丽丝的TX是否包含在区块中,并且因此是有效的
需注意,在最简单的情况下,爱丽丝需要向鲍勃提供有效支付(转账)交易Tx3,以便在P-o-S处交换商品。根据本发明的至少一个实施例,鲍勃提供商户模板以促进这一点,但也可以想到不使用模板。例如,如果爱丽丝事先已知道价格和鲍勃的地址,则她可以构建她的支付并将支付直接传输给鲍勃。爱丽丝还可以提供所需的签名和输出点引用,而无需显式地“填写”模板本身。
完整交易(参见图4中的(1))和默克尔证明(参见图4中的(3))可以由爱丽丝发送并由鲍勃处理。这可以与爱丽丝完成鲍勃的模板(参见图4中的(2))并行并独立完成。
延迟的交易提交:
在某些情况下,例如对于在线零售商,定期分批提交支付交易可能是有利的。出于技术原因,诸如等待改进/最佳网络连接可用等,出于会计目的或为了降低产生的交易费用的总价值,这可能是有益的。
对于商户鲍勃,这不会带来额外的挑战,但对于顾客爱丽丝,这意味着在鲍勃最终将签名交易提交到网络之前,她无法使用与爱丽丝的找零地址相关联的加密货币。
该问题的解决方案是鲍勃在他提供给爱丽丝的模板中指定处理交易的人为延迟。爱丽丝的离线钱包可以将此解释为,在将批量交易提交到网络之前,商户无法在预定时间内使用向鲍勃进行支付所产生的零钱。应注意的是,在这种情况下,鲍勃没有额外的风险,因为如果商户在提交该批次交易之前发现双重花费的证据,则可以取消交付购买的商品。
PoS SPV钱包的扩展-***钱包
作为上述PoS SPV钱包的扩展,鲍勃可能希望使用几个具有不同功能的连接钱包,这些钱包可以被视为单个***钱包(split-wallet)***。
因此,本发明的某些实施例通过引入可以协调一个或多个销售点钱包的更高级主SPV而建立在销售点(P-o-S)SPV的基本概念上。主SPV与一个或多个P-o-S SPV的组合在本文将被视为“***钱包”***。
根据本发明的实施例的***钱包***包括至少一个PoS SPV钱包,其充当支付终端,由主SPV组件协调。主SPV的功能使钱包能够:
·存储与P-o-S SPV的公钥地址相关联的私钥。
·计算与区块头相关联的默克尔证明。
·连接并广播到区块链网络,包括对UTXO集的查询。
·与用作支付终端的至少一个PoS SPV钱包通信。
与所有简单支付验证***一样,主钱包应能够执行好的SPV的所有基本功能,诸如检查给定交易的默克尔存在证明。这意味着鲍勃可以检查他从销售点广播的任何交易是否已被网络接受并包含在区块中。然而,重要的是,根据本发明的实施例的主钱包与至少一个更简单的PoS SPV钱包通信并协调其处理的支付。
对于主SPV来说,为鲍勃的支付地址存储私钥是有利的。当使用***钱包***时,这使得鲍勃的支付处理具有更大的安全性。然而,存储鲍勃的私钥是主钱包的可选功能,其主要功能是聚合和协调来自多个销售点钱包的支付。
在这种商户***钱包的实现方式中(仅使用基本主SPV),商户与顾客的交互没有严格修改。PoS SPV钱包仍必须对默克尔路径执行相同的检查,并向网络发出关于UTXO集的相同查询。过程中的差异包括:
·爱丽丝和鲍勃使用的P-o-S SPV终端的选择。
·主SPV应与后台的区块链持续同步。
·与鲍勃的支付地址相关联的私钥从主钱包接收专门的管理。这为先前仅在销售点钱包存储公钥地址所引入的安全性添加了结构。
应注意的是,出于安全考虑和实用主义考虑,作为***钱包实现方式的一部分使用的主钱包通常驻留与销售点SPV不同的位置,诸如公司后台或总部。商户-顾客交互可以可视化,如图5所示。
如先前所讨论的,使用简单主SPV作为商户***钱包的一部分的这种实现方式对鲍勃有实用价值,但如果***钱包要提供适当级别的双重花费保护,则仍然依赖于网络来响应UTXO集的查询。
这可以根据一个或多个实施例来解决,在该实施例中,主SPV被更强大类型的主钱包取代,该类型的主钱包还保存其自己的内存池副本。配备这种主钱包的***钱包架构不需要查询网络来检查顾客的UTXO是否是当前UTXO集的一部分。
拥有自己的内存池副本的主钱包的功能类似于经典的非挖掘“全节点”客户端,但有利的是,它不需要保留区块链的完整副本。相反,这种类型的主钱包只保留区块头和它自己的内存池本地副本。内存池的副本可以通过与网络同步在本地构建,也可以来自可信的第三方或服务。
使用带有自己的内存池副本的主SPV钱包实现***钱包,从商户的角度改变了商户-顾客交互。
与图5相比,上面描述的交互的主要变化体现在步骤4和5中:
·在步骤4中,商户只向网络广播交易,而不是添加UTXO集的附加查询
·在步骤5中,商户现在通过检查内存池中是否存在冲突交易来对顾客交易的有效性进行自己的检查。然后,商户可以基于其同步内存池副本的状态决定采取什么行动。
本发明在使用中的图示
考虑爱丽丝想从鲍勃那里买东西的典型商户-顾客交互。根据本发明的一个实施例,该过程按如下概述并参考图6进行:
1.鲍勃创建了部分完成的区块链交易并向爱丽丝请求以下信息。以下信息可以打包在一起作为模板供爱丽丝填写:
a.爱丽丝为了完成购买将花费的TX输出
b.爱丽丝的(比特币)找零地址
c.爱丽丝的签名
d.TX的默克尔路径(这不构成交易的一部分)
2.爱丽丝通过提供所需信息来完成模板。
3.鲍勃执行默克尔证明以检查爱丽丝提供的TX的有效性。如果证明无效,则鲍勃知道爱丽丝的TX在区块链中从未有效过,他拒绝交易。有利的是,这是一种快速失败机制。
4.鲍勃将完整交易广播到网络并查询UTXO集。
a.该广播允许矿工开始尝试将交易挖掘到区块中。
b.该查询询问爱丽丝提供的表面上有效的UTXO是否仍在UTXO集中。
这是一种防止爱丽丝双重花费的机制。
5.网络响应鲍勃的UTXO查询。这允许鲍勃采取以下行动之一:
a.如果爱丽丝的UTXO仍是UTXO集的一部分,则鲍勃可以接受支付,而双重花费的风险最小。
i.通过在某个时间间隔τ内继续使用此查询轮询网络节点,可以将鲍勃承担的风险降至最低。
ii.可以利用贝叶斯分析来确保鲍勃在某个置信区间内查询大多数诚实节点。
b.如果爱丽丝的UTXO并非UTXO集的一部分,则鲍勃将拒绝爱丽丝的支付。
如上面所提及的,本发明的实施例适合以多种形式使用和实施。这些形式可包括例如支付卡。
如本领域所知,传统SPV钱包通过检查其在区块链中的深度来验证交易并非双重花费,这是通过查询网络来实现的。一旦交易被矿工核实并包含在区块中,该交易就有1个确认。区块链中每增加一个区块,确认数就会增加1,而每增加一个新的确认数,双重花费的风险就会降低。传统SPV钱包会将交易显示为“n/未确认”,直到有6个确认。
然而,默认的6确认(6confirmation)规则并非比特币的基础。并非所有商户都希望等待6个区块(甚至1个区块)生成后才对支付感到满意。“0-conf”是本领域中用来表示尚未包含在区块中的交易的术语。一旦爱丽丝完成她的交易,她就会将交易广播到网络,鲍勃应(至少)能够在内存池中找到交易。
本发明将广播交易的负担转移给接收方鲍勃,而不是发送方爱丽丝,从而最小化所需的CPU并改善爱丽丝的体验。鲍勃对交易过程有更大程度的控制,因为他并不需要依赖爱丽丝与网络的连接,但也没有足够的控制权来损害爱丽丝的安全。本质上,爱丽丝(仅)有权通过提供数字签名来接受或拒绝交易。
默克尔路径检查并不能防止双重花费,因为只有当鲍勃看到交易被网络中继并且在内存池中时,才会到达0-conf。相反,它充当一种快速失败机制,允许鲍勃立即拒绝花费不存在的UTXO的尝试。这很有用,因为它可以防止鲍勃被用作垃圾邮件攻击的中介,特别是因为如果连接不良,广播和查询完整节点所需的时间可能会超过几秒钟。
随着离线支付的实现,预付费智能卡等硬件可以集成到比特币生态***中。支付卡需要数据容量来存储私钥以及UTXO、完整交易和默克尔路径。为了实现ECDSA签名算法,支付卡还需要一些处理能力。表1列出了提交时可用的一些电子卡类型的列表。
表1:典型支付卡规格
双重花费保护
假设顾客爱丽丝希望在商店中用加密货币交换实物商品。传统上,爱丽丝在销售点(POS)向区块链网络发送交易,而商户鲍勃只有在他看到此交易的以下情况时才允许爱丽丝带着商品离开
(a)被网络接受后返回给他;或
(b)在区块内得到确认(或,对于n-conf,n个区块深)。
在场景(a)中,鲍勃知道爱丽丝对他的支付交易是有效的,矿工们将尝试将此支付挖掘到区块中。尽管这并不能保护鲍勃免受爱丽丝远程提交冲突交易所引发的简单双重花费的影响,但该场景与传统的基于区块头的SPV兼容。
在场景(b)中,鲍勃知道支付交易是有效的,并且没有双重花费。然而,这需要鲍勃运行全节点,并原位下载下一个区块。此外,在比特币网络上,这平均需要10分钟,然后爱丽丝才能带着商品离开场所。
应该注意的是,在这个问题陈述中,假定0-conf安全性对于鲍勃来说是令人满意的,因为试图减轻的攻击是爱丽丝的简单双重花费。需要一个或多个区块来减轻不同的攻击向量,即第三对手卡罗尔的攻击向量,它使整个网络不堪重负。
下表说明了对于这种顾客-商户交互,场景(a)和(b)是如何独立地被接受的。下表显示了场景a)和b)的交易特征:
因子 | 场景(a) | 场景(b) |
针对鲍勃的双重花费保护 | 否 | 可接受 |
<10s平均交易时间 | 可接受 | 否 |
<10m平均交易时间 | 可接受 | 否 |
SPV兼容*(鲍勃) | 可接受 | 否 |
SPV兼容*(爱丽丝) | 可接受 | 可接受 |
*这意味着该方没有全节点要求。对于大多数交易,只有满足所有这些标准的解决方案才能同时被鲍勃(商户)和爱丽丝(顾客)接受。
本文所公开的商户PoS钱包的实施例提供以下优点:
·针对商户的双重花费保护
·即时(<<10s)平均交易时间
·顾客和商户都可以在销售点使用SPV钱包。
因子 | 场景(a) | 场景(b) | 商户SPV |
针对鲍勃的双重花费保护 | 否 | 是 | 是 |
<10s平均交易时间 | 是 | 否 | 是 |
<10m平均交易时间 | 是 | 否 | 是 |
SPV兼容*(鲍勃) | 是 | 否 | 是 |
SPV兼容*(爱丽丝) | 是 | 是 | 是 |
可以设想,本发明的实施例能够提供性能和结果,这将显著改善现有的SPV/加密货币交易率,并且至少在即时性方面与现有的芯片和密码/非接触式终端支付交互相媲美。
此外,本发明还允许在大约一小时内(即,6-conf)以高度确定性考虑支付的清算和批准。这远远优于目前长达60天的支付清算时间,即VISA和万事达卡清算时间。
可变风险
作为商户,鲍勃可以校准在销售点接受支付的延迟。通过选择最小轮询时间间隔τ,他还设置了他可以接受的双重花费风险的概率上限。这可以提高商户支付处理的效率和灵活性。
此外,鲍勃可以在生成模板时设置交易的挖掘费用。谁支付此费用并不一定重要,但该值可以用作将双重花费风险设置为商户认为可接受的水平的参数。
总的来说,销售点时间延迟和交易的挖掘费用是可以由商户设置并由顾客数字签名同意的两个参数,可以根据具体情况有效地校准效率和风险。例如,这可能取决于待交换商品的价值。
现在转到图7,提供了可用于实施本公开的至少一个实施例的计算设备2600的说明性简化框图。在各种实施例中,所述计算设备2600可用于实现以上示出和说明的任何***。例如,所述计算设备2600可配置为用作数据服务器、网络服务器、便携式计算设备、个人计算机或任何电子计算设备。如图7所示,计算设备2600可包括具有一级或多级高速缓存的一个或多个处理器以及存储器控制器(统称为2602),所述存储器控制器可被配置为与包括主存储器2608和永久存储器2610的存储子***2606通信。如图所示,主存储器2608可以包括动态随机存取存储器(DRAM)2618和只读存储器(ROM)2620。存储子***2606和高速缓存存储器2602可用于存储信息,诸如与本公开中所描述的交易和区块相关联的细节。处理器2602可用于提供本公开中描述的任何实施例的步骤或功能。
处理器2602还可以与一个或多个用户界面输入设备2612、一个或多个用户界面输出设备2614和网络接口子***2616通信。
总线子***2604可以提供用于使计算设备2600的各个组件和子***能够按预期彼此通信的机制。虽然总线子***2604示意性地示出为单个总线,但是总线子***的替代实施例可以利用多个总线。
网络接口子***2616可以向其他计算设备和网络提供接口。网络接口子***2616可以作为从计算设备2600接收数据和向其他***传输数据的接口。例如,网络接口子***2616可以使数据技术人员能够将设备连接到网络,使得数据技术人员能够在远程位置(例如数据中心)向设备发送数据并从设备接收数据。
用户界面输入设备2612可以包括一个或多个用户输入设备,例如键盘;指点设备,如集成鼠标、轨迹球、触摸板或图形平板电脑;扫描仪;条形码扫描仪;包含在显示器中的触摸屏;音频输入设备,如语音识别***、麦克风;以及其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括用于向计算设备2600输入信息的所有可能类型的设备和机制。
一个或多个用户界面输出设备2614可包括显示子***、打印机、或非视觉显示器(例如音频输出设备等)。显示子***可以是阴极射线管(CRT)、平板设备(例如液晶显示器(LCD))、发光二极管(LED)显示器或投影或其他显示设备。通常,术语“输出设备”的使用旨在包括用于从计算设备2600输出信息的所有可能类型的设备和机制。例如,可以使用一个或多个用户界面输出设备2614来呈现用户界面,以便于用户与执行所描述的过程和其中变型的应用程序进行交互(当这种交互可能合适时)。
存储子***2606可以提供计算机可读存储介质,该计算机可读存储介质用于存储可提供本公开的至少一个实施例的功能的基本编程和数据构造。当由一个或多个处理器执行时,应用程序(程序、代码模块、指令)可以提供本公开的一个或多个实施例的功能,并且可以存储在存储子***2606中。这些应用程序模块或指令可以由一个或多个处理器2602执行。存储子***2606可另外提供用于存储根据本公开所使用的数据的存储库。例如,主存储器2608和高速缓存存储器2602可以为程序和数据提供易失性存储。永久存储器2610可以提供用于程序和数据的永久(非易失性)存储,且可包括闪存、一个或多个固态驱动器、一个或多个磁硬盘驱动器、一个或多个具有关联可移动介质的软盘驱动器、一个或多个具有关联可移动介质的光驱动器(例如CD-ROM或DVD或蓝光)以及其他类似的存储介质。这样的程序和数据可以包括用于执行如在本公开中描述的一个或多个实施例的步骤的程序以及与在本公开中描述的交易和区块相关联的数据。
计算设备2600可以是各种类型的,包括便携式计算机设备、平板电脑、工作站或下文描述的任何其他设备。另外,计算设备2600可包括可通过一个或多个端口(例如,USB、耳机插孔、闪电连接器等)连接至计算设备2600的另一设备。可以连接到计算设备2600的设备可以包括被配置为接受光纤连接器的多个端口。因此,该设备可以被配置为将光信号转换成电信号,所述电信号可经由将该设备连接至计算设备2600进行处理的端口传输。由于计算机和网络的不断变化的性质,图7所示的计算设备2600的描述仅用作说明设备的优选实施例的特定示例。可能存在比图7所示***的组件更多或更少的许多其他配置。
“区块链交易”一词可用于指数据结构,它实现了使用加密密钥经由区块链网络实现数字资源或资产的控制权的转移。如上所述,为了将交易写入区块链,该交易必须:i)由接收该交易的第一节点进行核实,如果该交易通过核实,则此节点将该交易中继到网络中的其他节点;ii)添加到由矿工建造的新区块中;iii)已挖掘,即,已被添加到过去交易的公共分类账中。应当理解,矿工执行的工作的性质将取决于用于维护区块链的共识机制的类型。虽然工作证明(proof of work,PoW)与原始比特币协议相关联,但应当理解,可以使用其他共识机制,诸如股权证明(proof of stake,PoS)、委托股权证明(delegated proof ofstake,DPoS)、容量证明(proof of capacity,PoC)、流逝时间证明(proof of elapsedtime,PoET)、权威证明(proof of authority,PoA)等。不同的共识机制在节点之间的挖掘分布方式上有所不同,成功挖掘区块的几率取决于例如矿工的哈希能力(PoW)、矿工持有的加密货币的数量(PoS)、委托矿工持有的加密货币的数量(DPoS)、矿工存储加密难题的预定解决方案的能力(PoC)、随机分配给矿工的等待时间(PoET),等。
通常,矿工会因挖掘区块而获得激励或奖励。例如,比特币区块链用新发行的加密货币(比特币)和与区块中的交易相关联的费用(交易费用)奖励矿工。对于比特币区块链,加密货币的发行量会随时间的推移而减少,其激励最终仅由交易费用组成。因此,可以理解,交易费用的处理是将数据提交到公共区块链(诸如比特币区块链)的底层机制的一部分。
如先前所提及的,给定区块中的每个交易对区块链***参与者之间的数字资产控制权转移进行编码。数字资产不一定对应于加密货币。例如,数字资产可能与文档、图像、实体对象等的数字表示有关。向矿工支付加密货币和/或交易费用可能只是作为一种激励,通过执行必要的工作来维持区块链中区块的有效性。与区块链相关联的加密货币可能是矿工的安全保障,区块链本身是主要与加密货币以外的数字资产相关的交易的账本,而区块链本身是主要与加密货币以外的数字资产相关的交易分类账。在某些情况下,参与者之间的加密货币转账可能由与使用区块链维护交易分类账的实体不同的实体来处理。
需要说明的是,上述实施例说明而不是限制本发明,本领域技术人员能够在不脱离所附权利要求定义的本发明范围的前提下设计出许多替代实施例。术语“操作以(operative to)”在本文中被用作包括术语“布置”和“配置”。在权利要求书中,括号中的任何附图标记都不应解释为对权利要求的限制。词语“包括”等不排除任一项权利要求或说明书中整体列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括”是指“包含”或“由......组成”。元件的单数形式并不排除此类元件的复数形式,反之亦然。本发明可以通过包括几个不同元件的硬件以及通过适当编程的计算机来实现。在列举几个装置的设备权利要求中,这些装置中的几个装置可以由同一硬件来体现。在互不相同的从属权利要求中引用某些措施的事实并不意味着不能有利地使用这些措施的组合。
Claims (15)
1.一种基于计算机的***,用于促进转出方和转入方之间的资产的区块链转账,所述基于计算机的***包括:
至少一个验证资源,所述至少一个验证资源包括至少一个公钥并且被布置用于接收和/或请求:与至少一个区块链交易相关的完整交易数据;和,用于所述至少一个区块链交易的默克尔路径;
私钥,所述私钥与所述至少一个多个公钥相关联;以及
协调组件,所述协调组件用于与所述至少一个验证资源通信。
2.根据权利要求1所述的***,其中在以下各项中提供所述私钥:
在所述至少一个验证资源中;或
在所述协调组件中。
3.根据权利要求1或2所述的***,其中所述验证资源用于:
验证指定的交易是否存储在区块链上;和/或
使用区块链交易来促进或实现从一个地址到另一地址的转账。
4.根据任一前述权利要求所述的***,其中所述***包括多个验证资源并且所述协调组件用于从所述多个验证资源中选择一个验证资源并使其:
验证指定的交易是否存储在区块链上;和/或
使用区块链交易来促进或实现从一个地址到另一地址的转账。
5.根据任一前述权利要求所述的***,其中所述协调组件用于向区块链网络发送交易相关数据和从区块链网络接收交易相关数据。
6.根据任一前述权利要求所述的***,其中所述协调组件用于:
向所述至少一个验证资源发送至少一个公钥和/或交易标识(TXID)和从所述至少一个验证资源接收至少一个公钥和/或交易标识(TXID)。
7.根据任一前述权利要求所述的***,其中所述私钥是种子。
8.根据任一前述权利要求所述的***,其中所述***包括多个验证资源,每个验证资源包括与相应私钥相关联的至少一个公钥。
9.根据任一前述权利要求所述的***,其中所述至少一个验证资源用于:
i)使用所述默克尔路径来验证所述至少一个交易的默克尔证明;或
ii)存储、接收和/或请求区块链交易的至少一个区块头。
10.根据任一前述权利要求所述的***,其中从一提供资源接收和/或请求所述完整交易数据或默克尔路径,所述提供资源为所述资产的所述转出方并且用于存储和/或发送以下各项:
i)与至少一个区块链交易相关的完整交易数据;以及
ii)所述至少一个区块链交易的所述默克尔路径。
11.根据任一前述权利要求所述的***,其中所述提供资源和/或所述验证资源为或包括:
数字钱包、加密货币钱包、简单支付验证钱包和/或智能卡。
12.根据任一前述权利要求所述的***,所述***用于从提供资源接收转账数据,所述提供资源为所述资产的所述转出方,所述转账数据包括:
与存储在区块链上的至少一个未花费的交易输出(UTXO)相关的数据;
包含所述至少一个未花费的区块链交易输出(UTXO)的交易的交易标识(TXID);
用于花费所述至少一个未花费的区块链交易输出(UTXO)的签名;
包含所述至少一个未花费的区块链交易输出(UTXO)的交易的默克尔路径;和/或
公钥地址。
13.根据任一前述权利要求所述的***,其中所述***用于:
i)向提供资源发送转账值和/或输出地址;和/或
ii)从提供资源接收转账值和/或输出地址,所述提供资源为所述资产的所述转出方,和/或
iii)在成功验证用于所述至少一个区块链交易的所述默克尔证明后,向区块链网络提交交易。
14.根据任一前述权利要求所述的***,其中所述***用于,向作为所述资产的所述转出方的提供资源,发送对包括以下至少一项的转账数据的请求:
与存储在区块链上的至少一个未花费的交易输出(UTXO)相关的数据;
包含所述至少一个未花费的区块链交易输出(UTXO)的交易的交易标识(TXID);
用于花费所述至少一个未花费的区块链交易输出(UTXO)的签名;
包含所述至少一个未花费的区块链交易输出(UTXO)的交易的默克尔路径;和/或
公钥地址。
15.根据权利要求14所述的***,其中所述转账数据是,利用区块链交易模板,由所述***请求、和/或从所述提供资源接收的。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1902090.8A GB201902090D0 (en) | 2019-02-15 | 2019-02-15 | Computer-implemented system and method |
GBGB1902086.6A GB201902086D0 (en) | 2019-02-15 | 2019-02-15 | Computer-implemented system and method |
GB1902092.4 | 2019-02-15 | ||
GBGB1902089.0A GB201902089D0 (en) | 2019-02-15 | 2019-02-15 | Computer-implemented system and method |
GBGB1902092.4A GB201902092D0 (en) | 2019-02-15 | 2019-02-15 | Computer-implemented system and method |
GB1902090.8 | 2019-02-15 | ||
GB1902089.0 | 2019-02-15 | ||
GB1902088.2 | 2019-02-15 | ||
GBGB1902088.2A GB201902088D0 (en) | 2019-02-15 | 2019-02-15 | Computer-implemented system and method |
GB1902086.6 | 2019-02-15 | ||
PCT/IB2020/050734 WO2020165676A1 (en) | 2019-02-15 | 2020-01-30 | Computer-implemented systems and methods for implementing transfers over a blockchain network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113874897A true CN113874897A (zh) | 2021-12-31 |
Family
ID=69500792
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080014612.XA Pending CN113508410A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
CN202080014608.3A Pending CN113874898A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
CN202080014605.XA Pending CN113874897A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
CN202080014564.4A Pending CN113508409A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
CN202080014611.5A Pending CN113874899A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080014612.XA Pending CN113508410A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
CN202080014608.3A Pending CN113874898A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080014564.4A Pending CN113508409A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
CN202080014611.5A Pending CN113874899A (zh) | 2019-02-15 | 2020-01-30 | 用于通过区块链网络实现转账的计算机实现的***和方法 |
Country Status (8)
Country | Link |
---|---|
US (5) | US20220138738A1 (zh) |
EP (5) | EP3924920A1 (zh) |
JP (5) | JP2022520845A (zh) |
KR (5) | KR20210128452A (zh) |
CN (5) | CN113508410A (zh) |
SG (5) | SG11202108154TA (zh) |
TW (5) | TWI828857B (zh) |
WO (5) | WO2020165679A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11196543B2 (en) * | 2018-09-05 | 2021-12-07 | International Business Machines Corporation | Minimum evidence calculation in blockchain transactions |
US11645632B2 (en) * | 2020-05-26 | 2023-05-09 | Derek Norman La Salle | System and method for a decentralized portable information container supporting privacy protected digital information credentialing, remote administration, local validation, access control and remote instruction signaling utilizing blockchain distributed ledger and container wallet technologies |
TWI762010B (zh) * | 2020-10-30 | 2022-04-21 | 鴻海精密工業股份有限公司 | 區塊鏈交易方法及區塊鏈交易系統 |
GB2600769A (en) * | 2020-11-10 | 2022-05-11 | Nchain Holdings Ltd | Merkle proof entity |
GB2600770A (en) * | 2020-11-10 | 2022-05-11 | Nchain Holdings Ltd | Merkle proof entity |
CN112085504B (zh) * | 2020-11-16 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
US11843702B2 (en) * | 2020-11-20 | 2023-12-12 | The Toronto-Dominion Bank | System and method for secure distribution of resource transfer request data |
KR102478699B1 (ko) * | 2021-03-18 | 2022-12-16 | 중앙대학교 산학협력단 | 블록체인 기반 IoT 보안 방법 및 장치 |
US11902426B2 (en) * | 2021-06-26 | 2024-02-13 | Ceremorphic, Inc. | Efficient storage of blockchain in embedded device |
TWI764811B (zh) * | 2021-08-17 | 2022-05-11 | 英屬開曼群島商現代財富控股有限公司 | 分層確定性錢包的金鑰生成系統及其方法 |
WO2023046779A1 (en) * | 2021-09-22 | 2023-03-30 | Nchain Licensing Ag | Blockchain based transaction protocol |
US20230119482A1 (en) * | 2021-10-15 | 2023-04-20 | Chia Network Inc. | Method for securing private structured databases within a public blockchain |
WO2023072965A1 (en) * | 2021-10-28 | 2023-05-04 | Nchain Licensing Ag | Methods and systems for distributed blockchain functionalities |
WO2023118843A1 (en) * | 2021-12-20 | 2023-06-29 | WRT Technologies Limited | Recording blockchain transactions |
CN114356937B (zh) * | 2022-01-09 | 2022-08-26 | 上海即科智能技术集团有限公司 | 一种基于区块链和大数据的金融信息管理*** |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB512169A (en) | 1938-04-28 | 1939-08-30 | Norman Finlay Johnston | Improvements in and relating to ventilators, air diffusers and the like |
US11270298B2 (en) * | 2014-04-14 | 2022-03-08 | 21, Inc. | Digital currency mining circuitry |
US10230526B2 (en) * | 2014-12-31 | 2019-03-12 | William Manning | Out-of-band validation of domain name system records |
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
WO2017079652A1 (en) * | 2015-11-05 | 2017-05-11 | Pulsifer Allen | Cryptographic transactions system |
US10269012B2 (en) * | 2015-11-06 | 2019-04-23 | Swfl, Inc. | Systems and methods for secure and private communications |
AU2017223133B2 (en) | 2016-02-23 | 2022-09-08 | nChain Holdings Limited | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
EP3472994B1 (en) * | 2016-06-20 | 2020-10-21 | Innogy Innovation Gmbh | Software defined networking system |
TWI651671B (zh) * | 2016-08-25 | 2019-02-21 | 第一商業銀行股份有限公司 | 快速區塊鏈交易方法 |
EP3886398A1 (en) * | 2016-10-03 | 2021-09-29 | Visa International Service Association | Network topology for updating databases |
US11831748B1 (en) * | 2017-01-17 | 2023-11-28 | Justin Fisher | Method and system for utilizing the infrastructure of a blockchain to enhance the degree of security and veracity of another blockchain |
US20180247191A1 (en) * | 2017-02-03 | 2018-08-30 | Milestone Entertainment Llc | Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions |
WO2018201147A2 (en) * | 2017-04-28 | 2018-11-01 | Neuromesh Inc. | Methods, apparatus, and systems for controlling internet-connected devices having embedded systems with dedicated functions |
TWI646480B (zh) * | 2017-07-05 | 2019-01-01 | 台新金融控股股份有限公司 | 結合區塊鏈的憑證發行與驗證之系統及其方法 |
FR3075534B1 (fr) * | 2017-12-14 | 2020-01-10 | CopSonic | Dispositif de stockage de cles numeriques pour signer des transactions sur une chaine de blocs |
US20190188698A1 (en) * | 2017-12-19 | 2019-06-20 | Tbcasoft, Inc. | Computer apparatus for cross-ledger transfers between distributed ledgers |
CN111901121B (zh) * | 2018-04-03 | 2023-09-29 | 创新先进技术有限公司 | 跨区块链的认证方法及装置、电子设备 |
CN108615195B (zh) * | 2018-04-28 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 资源转移信息的传输方法和装置、存储介质、电子装置 |
US20200104228A1 (en) * | 2018-09-27 | 2020-04-02 | Ripple Labs Inc. | Asynchronous self-proving transactions |
US20200126075A1 (en) * | 2018-10-18 | 2020-04-23 | Temujin Labs, Inc. | Confidential transaction auditing using an authenticated data structure |
CN110009334B (zh) * | 2018-11-07 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种构建梅克尔树、简单支付验证方法及装置 |
US20220046028A1 (en) * | 2018-12-05 | 2022-02-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for determining a state of an account in a network device running a light client protocol of a distributed ledger technology network |
US11177962B2 (en) * | 2019-02-05 | 2021-11-16 | Visa International Service Association | Optimizations for verification of interactions system and method |
GB2597592A (en) * | 2020-06-10 | 2022-02-02 | Elas Holdings PTY LTD | Computer-implemented control system and method |
US20220270093A1 (en) * | 2021-02-23 | 2022-08-25 | Bit Trap Pte. Ltd. | System and method for detecting intrusions by recognizing unauthorized cryptocurrency transactions at an optimized cost |
CN112967065B (zh) * | 2021-05-18 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 一种交易验证方法、装置、设备及存储介质 |
US20230144486A1 (en) * | 2021-11-09 | 2023-05-11 | Vincent Bono | Cryptocurrency Transaction Process |
-
2020
- 2020-01-30 CN CN202080014612.XA patent/CN113508410A/zh active Pending
- 2020-01-30 CN CN202080014608.3A patent/CN113874898A/zh active Pending
- 2020-01-30 WO PCT/IB2020/050739 patent/WO2020165679A1/en unknown
- 2020-01-30 WO PCT/IB2020/050734 patent/WO2020165676A1/en unknown
- 2020-01-30 US US17/431,110 patent/US20220138738A1/en active Pending
- 2020-01-30 CN CN202080014605.XA patent/CN113874897A/zh active Pending
- 2020-01-30 CN CN202080014564.4A patent/CN113508409A/zh active Pending
- 2020-01-30 JP JP2021547835A patent/JP2022520845A/ja active Pending
- 2020-01-30 US US17/431,097 patent/US20220138737A1/en active Pending
- 2020-01-30 WO PCT/IB2020/050735 patent/WO2020165677A1/en unknown
- 2020-01-30 KR KR1020217029704A patent/KR20210128452A/ko not_active Application Discontinuation
- 2020-01-30 KR KR1020217029706A patent/KR20210128454A/ko not_active Application Discontinuation
- 2020-01-30 US US17/431,099 patent/US20220129887A1/en active Pending
- 2020-01-30 KR KR1020217029705A patent/KR20210128453A/ko not_active Application Discontinuation
- 2020-01-30 SG SG11202108154TA patent/SG11202108154TA/en unknown
- 2020-01-30 EP EP20704084.1A patent/EP3924920A1/en active Pending
- 2020-01-30 JP JP2021547832A patent/JP2022520478A/ja active Pending
- 2020-01-30 JP JP2021547833A patent/JP2022520844A/ja active Pending
- 2020-01-30 SG SG11202108169UA patent/SG11202108169UA/en unknown
- 2020-01-30 US US17/431,109 patent/US20220129893A1/en active Pending
- 2020-01-30 JP JP2021547831A patent/JP2022520656A/ja active Pending
- 2020-01-30 SG SG11202108152XA patent/SG11202108152XA/en unknown
- 2020-01-30 EP EP20704946.1A patent/EP3924921A1/en active Pending
- 2020-01-30 WO PCT/IB2020/050737 patent/WO2020165678A1/en unknown
- 2020-01-30 KR KR1020217029707A patent/KR20210128455A/ko not_active Application Discontinuation
- 2020-01-30 CN CN202080014611.5A patent/CN113874899A/zh active Pending
- 2020-01-30 SG SG11202108153QA patent/SG11202108153QA/en unknown
- 2020-01-30 EP EP20705791.0A patent/EP3924924A1/en active Pending
- 2020-01-30 US US17/431,105 patent/US20220129888A1/en active Pending
- 2020-01-30 EP EP20704947.9A patent/EP3924922A1/en active Pending
- 2020-01-30 EP EP20704948.7A patent/EP3924923A1/en active Pending
- 2020-01-30 WO PCT/IB2020/050740 patent/WO2020165680A1/en unknown
- 2020-01-30 JP JP2021547834A patent/JP2022520273A/ja active Pending
- 2020-01-30 SG SG11202108151UA patent/SG11202108151UA/en unknown
- 2020-01-30 KR KR1020217029708A patent/KR20210128456A/ko not_active Application Discontinuation
- 2020-02-10 TW TW109104081A patent/TWI828857B/zh active
- 2020-02-10 TW TW109104073A patent/TW202040391A/zh unknown
- 2020-02-10 TW TW109104080A patent/TW202044157A/zh unknown
- 2020-02-10 TW TW109104082A patent/TWI836003B/zh active
- 2020-02-10 TW TW109104074A patent/TW202036335A/zh unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113874897A (zh) | 用于通过区块链网络实现转账的计算机实现的***和方法 | |
US11228439B2 (en) | Scale out blockchain with asynchronized consensus zones | |
AU2016202841A1 (en) | Device, method and system for virtual asset transactions | |
US10402823B1 (en) | System for exchanging private keys for mutual settlements between users of a cryptocurrency outside blockchains | |
EP3857814A1 (en) | Computer-implemented system and method for transferring access to digital resource | |
CN111476573A (zh) | 一种账户数据处理方法、装置、设备及存储介质 | |
US20220217004A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
CN113132459B (zh) | 分布式存储方法、***、存储介质、信息数据处理终端 | |
Ackerer et al. | The Underlying Technology for Cryptoassets | |
CN114066626A (zh) | 密码货币交易*** | |
CN113516461A (zh) | 一种基于分布式账本的量子货币交易方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |