CN112740251A - 一种基于区块链的数字货币交易方法、装置及系统 - Google Patents

一种基于区块链的数字货币交易方法、装置及系统 Download PDF

Info

Publication number
CN112740251A
CN112740251A CN201980059594.4A CN201980059594A CN112740251A CN 112740251 A CN112740251 A CN 112740251A CN 201980059594 A CN201980059594 A CN 201980059594A CN 112740251 A CN112740251 A CN 112740251A
Authority
CN
China
Prior art keywords
utxo
contract
digital currency
currency transaction
account
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980059594.4A
Other languages
English (en)
Inventor
张骁
辛佳骏
李武璐
来鑫
陈磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Publication of CN112740251A publication Critical patent/CN112740251A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

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

Abstract

本发明公开了一种基于区块链的数字货币交易方法、装置及系统,接收第一用户基于第一UTXO发起的合约部署交易请求,响应合约部署交易请求,生成相应的数字货币交易合约,并消耗第一UTXO作为部署合约的gas,若第一UTXO未被消耗完,将余额存储在第一用户在数字货币交易合约中的第一account账户中。通过上述方案,通过将UTXO模型和Account模型结合在一起,实现同时支持智能合约、分片和跨链的特性的目的。此外,该方案通过将第三account账户中的余额转出至指定的UTXO地址,并对指定的UTXO地址执行盲化操作,从而实现对第三account账户进行隐私保护的目的。

Description

一种基于区块链的数字货币交易方法、装置及系统
技术领域
本发明涉及区块链技术领域,更具体地说,涉及一种基于区块链的数字货币交易方法、装置及系统。
背景技术
随着区块链技术的进步与数字货币的发展,使用数字货币作为网络上交易的凭证,已广泛地应用于网络上的交易、消费等活动。数字货币是一种基于节点网络和数字加密算法的虚拟货币,通常由开发者发行和管理,被特定的虚拟社区的成员所接受和使用。
现有的区块链技术中,通常分为以比特币为代表的未花费的交易输出模型(UnspentTransaction Output,UTXO)和以以太坊为代表的Account模型两种。UTXO模型是一种无状态模型,在区块链上的每一笔交易都是UXTO的转移。每一个未被花费的UTXO模型只和上一个UTXO模型有关,而与其他的UTXO都没有任何关联,由于不需要全局状态,UTXO模型上的隐私保护相对容易实现。因此为了实现数字货币交易的隐私性,通常采用UTXO模型。Account模型是一种有状态模型,在区块链中的每一个区块上都有一个全局的世界状态,这个状态是全局的,对应着区块链上所以的账户余额,每一笔交易或只能合约的调用对账户余额的改变都会导致这个全局世界状态的更新。因此,为了让区块链更好的支持智能合约,提示区块链的可拓展性,通常采用Account模型。
但是,Account模型适合智能合约、分片和跨链,由于世界状态的变化很容易泄露状态所属方的隐私,从而使得Account模型实现交易发送方、接收方以及交易金额的隐私保护的难度较大。UTXO模型适合隐私保护,由于UTXO模型的状态可能散落在区块链历史的每一笔交易上,没有一个聚合的集体,因此当需要作出状态合法性的判断时就需要遍历所以历史区块,造成资源损耗,从而使得UTXO模型实现智能合约、分片和跨链的困难较大。因此,无论是UTXO模型还是Account模型,都难以同时支持智能合约、分片和跨链的特性。
发明内容
有鉴于此,本发明提供了一种基于区块链的数字货币交易方法、装置及系统,通过将UTXO模型和Account模型结合在一起,执行数字货币交易合约,实现同时支持智能合约、分片和跨链的目的。
为了实现上述目的,现提出的方案如下:
本发明第一方面公开了一种基于区块链的数字货币交易方法,所述方法包括:
接收第一用户基于第一UTXO发起的合约部署交易请求;
响应所述合约部署交易请求,生成相应的数字货币交易合约,并消耗所述第一UTXO作为部署合约的gas;
若所述第一UTXO未被消耗完,将余额存储在所述第一用户在所述数字货币交易合约中的所述第一account账户中。
优选的,所述方法还包括:
接收第二用户基于第二UTXO调用所述数字货币交易合约的请求;
执行所述数字货币交易合约以响应所述调用所述数字货币交易合约的请求,并消耗所述第二UTXO作为调用合约的gas;
若所述第二UTXO未被消耗完,将余额存储在所述第二用户在所述数字货币交易合约中的第二account账户中。
优选的,所述方法还包括:
接收所述第三用户发起的余额转出请求,所述余额转出请求用于请求将所述第三用户在第三account账户中的余额转出至所述第三用户的UTXO;
将所述第三account账户中的余额转出至所述第三用户的UTXO。
优选的,所述接收所述第三用户发起的余额转出请求,包括:
接收所述第三用户基于第三UTXO发起的余额转出请求,所述余额转出请求中包括指定的UTXO地址;
所述将所述第三account账户中的余额转出至所述第三用户的UTXO包括:
调用所述数字货币交易合约,其中所述第三UTXO作为调用合约消耗的gas;
将所述第三account账户中的余额转出至所述指定的UTXO地址。
优选的,所述调用所述数字货币交易合约的交易与所述将所述第三account账户中的余额转出至所述指定的UTXO地址的交易打包在同一个区块中。
优选的,所述方法还包括:
若所述第三UTXO未被消耗完,将余额存储在所述第三用户在所述数字货币交易合约中的第三account账户中。
本发明第二方面公开了一种基于区块链的数字货币交易装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于区块链的数字货币交易程序,所述数字货币交易程序被所述处理器执行时实现如第一方面公开的任一项所述基于区块链的数字货币交易方法。
本发明第三方面公开了一种基于区块链的数字货币交易系统,所述系统包括:
接收单元,用于接收第一用户基于第一UTXO发起的合约部署交易请求;
生成消耗单元,用于响应所述合约部署交易请求,生成相应的数字货币交易合约,并消耗所述第一UTXO作为部署合约的gas;
第一存储单元,用于若所述第一UTXO未被消耗完,将余额存储在所述第一用户在所述数字货币交易合约中的所述第一account账户中。
本发明第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有数字货币交易程序,所述数字货币交易程序可被一个或者多个处理器执行,以实现如第一方面中任一项所述基于区块链的数字货币交易方法。
本发明第五方面公开了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述基于区块链的数字货币交易方法。
经由上述技术方案可知,接收第一用户基于第一UTXO发起的合约部署交易请求,响应合约部署交易请求,生成相应的数字货币交易合约,并消耗第一UTXO作为部署合约的gas,若第一UTXO未被消耗完,将余额存储在第一用户在数字货币交易合约中的第一account账户中。通过上述方案,通过将UTXO模型和Account模型结合在一起,实现同时支持智能合约、分片和跨链的目的。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种基于区块链的数字货币交易方法的流程示意图;
图2为本发明实施例公开的一种基于区块链的数字货币交易装置的结构示意图;
图3为本发明实施例公开的一种基于区块链的数字货币交易系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
现有技术中,Account模型适合智能合约、分片和跨链,由于世界状态的变化很容易泄露状态所属方的隐私,从而使得Account模型实现交易发送方、接收方以及交易金额的隐私保护的难度较大。UTXO模型适合隐私保护,由于UTXO模型的状态可能散落在区块链历史的每一笔交易上,没有一个聚合的集体,因此当需要作出状态合法性的判断时就需要遍历所以历史区块,造成资源损耗,从而使得UTXO模型实现智能合约、分片和跨链的困难较大。因此,无论是UTXO模型还是Account模型,都难以同时支持智能合约、分片和跨链的特性。
因此,本发明公开了一种基于区块链的数字货币交易方法、装置及系统,实现同时支持智能合约、分片和跨链的目的。
为了同时支持智能合约、分片/跨链和隐私保护的特性,本发明提出了同时存在UTXO模块和Account模型的基于区块链的数字货币交易方法、装置及系统。
需要说明的是,UTXO模型是一个包含交易数据和执行代码的数据结构,是比特币最早采用的账户模型,UTXO模型是一种无状态模型,在区块链上的每一笔交易都是UXTO的转移,每一个未被花费的UTXO模型只和上一个UTXO模型有关,而与其他的UTXO都没有任何关联。
Account模型是以太坊的账户余额模型,Account模型是一种有状态模型,在区块链中的每一个区块上都维护有一个全局的世界状态。这个状态是全局的,对应着链上所有的账户的余额,其中每一笔交易或智能合约的调用对账户余额的改变都会导致这个全局世界状态的更新。
如图1所示,为本发明实施例公开的一种基于区块链的数字货币交易方法的流程示意图,具体包括如下步骤:
步骤S101:接收第一用户基于第一UTXO发起的合约部署交易请求。
需要说明的是,合约部署是用户利用UTXO模型发起一笔合约部署交易,该合约部署交易以用户的UTXO作为输入,输出一个数字货币交易合约。该数字货币交易合约的地址在部署时自动生成。
合约部署的方式可以利用工具将合约代码生成字节码,通过指令或工具生成合约。
步骤S102:响应合约部署交易请求,生成相应的数字货币交易合约,并消耗第一UTXO作为部署合约的gas。
在具体实现步骤S102的过程中,通过UTXO模型根据合约部署和执行的复杂程度计算消耗第一UTXO作为部署合约的gas值,消耗第一UTXO作为部署合约的gas值也可以设定为固定值,具体消耗第一UTXO作为部署合约的gas值的设定取决于区块链的运营策略。
需要说明的是,为了区分合约地址和UTXO地址,数字货币交易合约的合约地址以SC(表示Smart Contract,即智能合约)开头。
地址“SC”标识为智能合约的保留字段。智能合约相当于数字货币交易合约。
智能合约是一种皆在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,该交易可追踪且不可逆转。
以“SC”开头的合约地址为智能合约地址,以非“SC”开头的合约地址为普通UTXO地址。
智能合约的数据结构,如表1所示。
表1
nonce
balance
Contract_code
storage
需要说明的是,nonce为随机数,交易的标识,防止交易受到重放攻击。
Balance为合约账户余额。
Contract_code为合约代码。
Storage为合约中存储的数据。
步骤S103:若第一UTXO未被消耗完,将余额存储在第一用户在数字货币交易合约中的第一account账户中。
在具体实现步骤S103的过程中,第一UTXO是合约部署的部署成本,在部署过程中可能被消耗,若第一UTXO没有消耗完,将剩余的第一UTXO保存在第一用户在数字货币交易合约中的第一account账户中。
第一用户可以请求转出保存在数字货币交易合约中的第一account账户中剩余的第一UTXO。
本方案通过将UTXO模型和Account模型结合在一起,发挥两种模型的优势,可以使基于区块链的数字货币交易在支持高水平的隐私保护能力的前提下,能够支持智能合约满足图灵完备的代码执行,同时可以支持分片、跨链,实现区块链系统性能的高效扩展。
通过Account模型执行数字货币交易合约,该数字货币交易合约可以进行公开计算,执行合约代码,输入输出的信息需要通过暂存地址与用户的真实身份隔离。
通过Account模型基于智能合约实现去中心化的数字货币交易,保证了数字货币交易的自动化、公平和公正。
本发明实施例公开的一种基于区块链的数字货币交易方法,接收第一用户基于第一UTXO发起的合约部署交易请求,响应合约部署交易请求,生成相应的数字货币交易合约,并消耗第一UTXO作为部署合约的gas,若第一UTXO未被消耗完,将余额存储在第一用户在数字货币交易合约中的第一account账户中。通过上述方案,实现将未消耗完的第一UTXO的余额存储在第一用户在数字货币交易合约中的第一account账户中的目的,并且该方案同时支持智能合约、分片和跨链的特性。
在本发明实施例的一种应用场景中,接收第二用户基于第二UTXO调用数字货币交易合约的请求,执行数字货币交易合约以响应调用数字货币交易合约的请求,并消耗第二UTXO作为调用合约的gas,若第二UTXO未被消耗完,将余额存储在第二用户在数字货币交易合约中的第二account账户中。
需要说明的是,第二UTXO是合约调用的调用成本,在调用过程中可能被消耗,若第二UTXO没有消耗完,将剩余的第二UTXO保存在第二用户在数字货币交易合约中的第二account账户中,对于剩余的第二UTXO,第二用户可以请求转出保存在数字货币交易合约中的第二account账户。
通过UTXO模型根据合约调用和执行的复杂程度计算消耗第二UTXO作为调用合约的gas值,消耗第二UTXO作为调用合约的gas值也可以设定为固定值,具体消耗第二UTXO作为调用合约的gas值的设定取决于区块链的运营策略。
通过接收第二用户基于第二UTXO调用数字货币交易合约的请求,基于UTXO模型执行数字货币交易合约以响应调用数字货币交易合约的请求,消耗第二UTXO作为调用合约的gas。
第二UTXO作为调用合约的gas是数字货币交易合约执行所消耗的资源,即数字货币交易合约执行的成本,其作用一方面提供执行合约的动力,另一方面防止攻击者对数字货币交易合约进行无限调用的攻击。
在本发明实施例中,接收第二用户基于第二UTXO调用数字货币交易合约的请求,执行数字货币交易合约以响应调用数字货币交易合约的请求,并消耗第二UTXO作为调用合约的gas,若第二UTXO未被消耗完,将余额存储在第二用户在数字货币交易合约中的第二account账户中,在调用合约过程中,通过附加脚本调用合约代码中的函数,消耗第二UTXO相应的gas,实现将未消耗完的第二UTXO的余额存储在第二用户在数字货币交易合约中的第二account账户中的目的。
在本发明实施例的另一种应用场景中,接收第三用户发起的余额转出请求,余额转出请求用于请求将第三用户在第三account账户中的余额转出至第三用户的UTXO,将第三account账户中的余额转出至第三用户的UTXO。
其中,接收第三用户基于第三UTXO发起的余额转出请求,余额转出请求中包括指定的UTXO地址。
需要说明的是,上述第一用户、第二用户和第三用户可以是同一用户,也可以是不同用户。
基于上述涉及到将第三account账户中的余额转出至第三用户的UTXO的过程如下:
调用数字货币交易合约,其中第三UTXO作为调用合约消耗的gas,将第三account账户中的余额转出至指定的UTXO地址。
其中,合约转出至UTXO的交易由区块提议者的私钥签名,在第三account账户中减去相应的余额,发送给相应的UTXO模型上。所有的区块验证节点都可以执行数字货币交易合约来判断区块节点执行数字货币交易合约转出交易的合法性。
需要说明的是,第三account账户为隐私账户,因此,第三account账户的账户数额和账户地址,都受到隐私保护。隐私保护的方式可以是环签名(Ring Signature,RS)、环状签名保密交易(Ring Signature Confidential Transaction,RingCT)、零知识证明等,具体采用的隐私保护方式,本领域技术人员可以根据情况选择合适的方式,在此不做具体限定。
将第三account账户中的余额转出至指定的UTXO地址,为第三account账户中的余额添加环签名,基于环签名对第三account账户中的余额进行加密。
需要说明的是,当环签名的环size的数值为1时,为普通数字货币交易,当环签名的环size的数值不为1时,为隐私数字货币交易。
环签名的环size的最大值为全网账户总数,该环签名的环size的数值的取值范围为大于等于1的正整数。
将第三account账户中的余额转出至指定的UTXO地址,为第三account账户中的余额添加RingCT,基于RingCT对第三UTXO进行加密。
或,
将第三account账户中的余额转出至指定的UTXO地址,为第三account账户中的余额添加零知识证明,基于零知识证明对第三UTXO进行加密。
相应地,将第三account账户中的余额转出至指定的UTXO地址,为第三account账户中的余额添加环size的数值不为1的环签名,基于环签名对第三UTXO进行加密。
在本发明实施例中,第三account账户中的余额转出至指定的UTXO地址,第三account账户中的隐私保护可以是环签名、环状签名保密交易或零知识证明,实现对第三account账户进行隐私保护的目的。
在本发明的另一种应用场景中,在执行数字货币交易合约之前,对指定的UTXO地址执行盲化操作,其中,盲化操作用于隐藏指定的UTXO地址。
盲化的方法以公开的UTXO地址作为输入,发起一笔隐私保护交易,输出为由多个指定的UTXO地址组成的环。
其他用户区块或区块节点无法判断真实指定的UTXO地址是环中的哪一个成员,以此实现对数字交易合约的合约账户金额和合约账户地址的隐私保护。为了实现更好的难以追踪性质,可以采用更大规模的环,或增加盲化操作的轮数。
本发明的应用场景中,通过对指定的UTXO地址执行盲化操作,实现对数字交易合约的第三account账户的数额和地址的隐私保护的目的。
在上述中涉及到区块中数字货币交易合约的交易过程,如表2所示。
表2
HEADER
UTXOa→SC123456
SC123456→UTXOb
SC123456→UTXOc
SC123456→UTXOd
......
需要说明的是,HEADER为区块头,UTXOa→SC123456、SC123456→UTXOb、SC123456→UTXOc和SC123456→UTXOd为区块体中的交易,其中UTXOa→SC123456表示调用合约的交易(UTXOa可以为调用合约所消耗的gas),SC123456→UTXOb、SC123456→UTXOc和SC123456→UTXOd可表示将合约中账户余额转出至指定UTXO地址的交易。
在本发明实施例的另一种应用场景中,调用数字货币交易合约的交易与将第三account账户中的余额转出至指定的UTXO地址的交易打包在同一个区块中。
在本发明实施例中,通过区块打包节点将调用数字货币交易和将第三account账户中的余额转出至指定的UTXO地址的交易打包在同一个区块中,确保整个过程的事务性。
在本发明实施例的另一种应用场景中,若第三UTXO未被消耗完,将余额存储在第三用户在数字货币交易合约中的第三account账户中。
在本发明实施例中,若第三UTXO未被消耗完,将余额存储在第三用户在数字货币交易合约中的第三account账户中,在调用合约过程中,通过附加脚本调用合约代码中的函数,消耗第三UTXO相应的gas,实现将未消耗完的第三UTXO的余额存储在第三用户在数字货币交易合约中的第三account账户中的目的。
本发明实施例还提供了一种基于区块链的数字货币交易装置,该装置包括存储器和处理器,该存储器上存储有可在该处理器上运行的基于区块链的数字货币交易程序,该基于区块链的数字货币交易程序被该处理器执行时实现基于区块链的数字货币交易方法。
本发明公开了一种基于区块链的数字货币交易装置,接收第一用户基于第一UTXO发起的合约部署交易请求,响应合约部署交易请求,生成相应的数字货币交易合约,并消耗第一UTXO作为部署合约的gas,若第一UTXO未被消耗完,将余额存储在第一用户在数字货币交易合约中的第一account账户中。通过上述方案,实现将未消耗完的第一UTXO的余额存储在第一用户在数字货币交易合约中的第一account账户中的目的,并且该方案同时支持智能合约、分片和跨链的特性。
在本实施例中,基于区块链的数字货币交易装置2可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、终端设备。
基于区块链的数字货币交易装置2可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是基于区块链的数字货币交易装置2的内部存储单元,例如该基于区块链的数字货币交易装置2的硬盘。存储器11在另一些实施例中也可以是基于区块链的数字货币交易装置2的外部存储设备,例如基于区块链的数字货币交易装置2上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括基于区块链的数字货币交易装置2的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于基于区块链的数字货币交易装置2的应用软件及各类数据,例如基于区块链的数字货币交易程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于区块链的数字货币交易程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,基于区块链的数字货币交易装置2还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该基于区块链的数字货币交易装置2与其他电子设备之间建立通信连接。
可选地,该基于区块链的数字货币交易装置2还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于区块链的数字货币交易装置2中处理的信息以及用于显示可视化的用户界面。
基于上述本发明实施例公开的基于区块链的数字货币交易方法,本发明实施例还对应公开了基于区块链的数字货币交易系统,如图3所示,该基于区块链的数字货币交易系统300主要包括:
第一接收单元301,用于接收第一用户基于第一UTXO发起的合约部署交易请求。
生成消耗单元302,用于响应合约部署交易请求,生成相应的数字货币交易合约,并消耗第一UTXO作为部署合约的gas。
第一存储单元303,用于若第一UTXO未被消耗完,将余额存储在第一用户在数字货币交易合约中的第一account账户中。
可选的,还包括:
第二接收单元,用于接收第二用户基于第二UTXO调用数字货币交易合约的请求。
执行消耗单元,用于执行数字货币交易合约以响应调用数字货币交易合约的请求,并消耗所述第二UTXO作为调用合约的gas。
第二存储单元,用于若第二UTXO未被消耗完,将余额存储在第二用户在数字货币交易合约中的第二account账户中。
可选的,还包括:
第三接收单元,用于接收第三用户发起的余额转出请求,余额转出请求用于请求将第三用户在第三account账户中的余额转出至第三用户的UTXO。
进一步的,接收第三用户发起的余额转出请求的第三接收单元,包括:接收模块。
接收模块,用于接收第三用户基于第三UTXO发起的余额转出请求,余额转出请求中包括指定的UTXO地址。
转出单元,用于将第三account账户中的余额转出至第三用户的UTXO。
进一步的,转出单元,包括:调用模块和转出模块。
调用模块,用于调用数字货币交易合约,其中第三UTXO作为调用合约消耗的gas。
转出模块,用于将第三account账户中的余额转出至指定的UTXO地址。
可选的,还包括:
打包单元,用于调用数字货币交易合约的交易与将第三account账户中的余额转出至指定的UTXO地址的交易打包在同一个区块中。
进一步的,还包括:
存储模块,用于若第三UTXO未被消耗完,将余额存储在第三用户在数字货币交易合约中的第三account账户中。
本发明实施例公开了一种基于区块链的数字货币交易系统,接收第一用户基于第一UTXO发起的合约部署交易请求,响应合约部署交易请求,生成相应的数字货币交易合约,并消耗第一UTXO作为部署合约的gas,若第一UTXO未被消耗完,将余额存储在第一用户在数字货币交易合约中的第一account账户中。通过上述方案,实现将未消耗完的第一UTXO的余额存储在第一用户在数字货币交易合约中的第一account账户中的目的,并且该方案同时支持智能合约、分片和跨链的特性。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有基于区块链的数字货币交易程序,基于区块链的数字货币交易程序可被一个或者多个处理器执行,以实现基于区块链的数字货币交易方法。
本发明实施例还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行基于区块链的数字货币交易方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于区块链的数字货币交易方法,其特征在于,所述方法包括:
接收第一用户基于第一UTXO发起的合约部署交易请求;
响应所述合约部署交易请求,生成相应的数字货币交易合约,并消耗所述第一UTXO作为部署合约的gas;
若所述第一UTXO未被消耗完,将余额存储在所述第一用户在所述数字货币交易合约中的所述第一account账户中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第二用户基于第二UTXO调用所述数字货币交易合约的请求;
执行所述数字货币交易合约以响应所述调用所述数字货币交易合约的请求,并消耗所述第二UTXO作为调用合约的gas;
若所述第二UTXO未被消耗完,将余额存储在所述第二用户在所述数字货币交易合约中的第二account账户中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第三用户发起的余额转出请求,所述余额转出请求用于请求将所述第三用户在第三account账户中的余额转出至所述第三用户的UTXO;
将所述第三account账户中的余额转出至所述第三用户的UTXO。
4.根据权利要求3所述的方法,其特征在于,所述接收所述第三用户发起的余额转出请求,包括:
接收所述第三用户基于第三UTXO发起的余额转出请求,所述余额转出请求中包括指定的UTXO地址;
所述将所述第三account账户中的余额转出至所述第三用户的UTXO包括:
调用所述数字货币交易合约,其中所述第三UTXO作为调用合约消耗的gas;
将所述第三account账户中的余额转出至所述指定的UTXO地址。
5.根据权利要求4所述的方法,其特征在于,所述调用所述数字货币交易合约的交易与所述将所述第三account账户中的余额转出至所述指定的UTXO地址的交易打包在同一个区块中。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第三UTXO未被消耗完,将余额存储在所述第三用户在所述数字货币交易合约中的第三account账户中。
7.一种基于区块链的数字货币交易装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于区块链的数字货币交易程序,所述数字货币交易程序被所述处理器执行时实现如权利要求1-6任一项所述基于区块链的数字货币交易方法。
8.一种基于区块链的数字货币交易系统,其特征在于,所述系统包括:
接收单元,用于接收第一用户基于第一UTXO发起的合约部署交易请求;
生成消耗单元,用于响应所述合约部署交易请求,生成相应的数字货币交易合约,并消耗所述第一UTXO作为部署合约的gas;
第一存储单元,用于若所述第一UTXO未被消耗完,将余额存储在所述第一用户在所述数字货币交易合约中的所述第一account账户中。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数字货币交易程序,所述数字货币交易程序可被一个或者多个处理器执行,以实现如权利要求1至6中任一项所述基于区块链的数字货币交易方法。
10.一种计算机程序产品,其特征在于,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至6中任一项所述基于区块链的数字货币交易方法。
CN201980059594.4A 2019-12-31 2019-12-31 一种基于区块链的数字货币交易方法、装置及系统 Pending CN112740251A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/130382 WO2021134426A1 (zh) 2019-12-31 2019-12-31 一种基于区块链的数字货币交易方法、装置及系统

Publications (1)

Publication Number Publication Date
CN112740251A true CN112740251A (zh) 2021-04-30

Family

ID=75589495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980059594.4A Pending CN112740251A (zh) 2019-12-31 2019-12-31 一种基于区块链的数字货币交易方法、装置及系统

Country Status (2)

Country Link
CN (1) CN112740251A (zh)
WO (1) WO2021134426A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106940854A (zh) * 2017-03-06 2017-07-11 钱德君 一种utxo模型与合约之间的搭桥方法
CN109034814A (zh) * 2018-09-14 2018-12-18 百度在线网络技术(北京)有限公司 基于以太坊虚拟机的智能合约处理方法和装置
CN109886661A (zh) * 2019-01-16 2019-06-14 深圳壹账通智能科技有限公司 跨链数字货币兑换方法、装置、计算机系统及存储介质
US20190303892A1 (en) * 2018-03-30 2019-10-03 Exposition Park Holdings SEZC Digital asset exchange
CN110472977A (zh) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 一种区块链的交易记录生成方法及相关设备
CN110517138A (zh) * 2019-08-20 2019-11-29 深圳市网心科技有限公司 智能合约处理方法、装置、计算机设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016037282A1 (en) * 2014-09-10 2016-03-17 Pirooz Robert Parviz System and method for electronic currency mining
CN109559227A (zh) * 2018-11-29 2019-04-02 咪咕文化科技有限公司 一种跨区块链网络的交易方法、装置及存储介质
CN110135993B (zh) * 2019-05-17 2021-07-30 深圳银链科技有限公司 Utxo模型适配智能合约账户模型的方法、设备及存储介质
CN110472957A (zh) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 一种区块链交易验证方法及相关设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106940854A (zh) * 2017-03-06 2017-07-11 钱德君 一种utxo模型与合约之间的搭桥方法
US20190303892A1 (en) * 2018-03-30 2019-10-03 Exposition Park Holdings SEZC Digital asset exchange
CN109034814A (zh) * 2018-09-14 2018-12-18 百度在线网络技术(北京)有限公司 基于以太坊虚拟机的智能合约处理方法和装置
CN109886661A (zh) * 2019-01-16 2019-06-14 深圳壹账通智能科技有限公司 跨链数字货币兑换方法、装置、计算机系统及存储介质
CN110472977A (zh) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 一种区块链的交易记录生成方法及相关设备
CN110517138A (zh) * 2019-08-20 2019-11-29 深圳市网心科技有限公司 智能合约处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2021134426A1 (zh) 2021-07-08

Similar Documents

Publication Publication Date Title
CN109862041A (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
WO2021031473A1 (zh) 基于多资产模型的区块链资产处理方法及相关设备
CN109951489A (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
TW201935383A (zh) 資產管理方法及裝置、電子設備
CN110400217B (zh) 智能合约的规则变更处理方法及装置
CN110597839A (zh) 交易数据处理方法、装置、设备以及存储介质
CN110517147A (zh) 交易数据处理方法、装置、系统及计算机可读存储介质
CN110597916B (zh) 基于区块链的数据处理方法、装置、存储介质及终端
CN110263580B (zh) 基于区块链的数据处理方法、装置和区块链节点
CN106326751B (zh) 一种可信道系统及其实现方法
CN111770112B (zh) 一种信息共享方法、装置及设备
CN111985007A (zh) 一种基于区块链的合同签署与执行方法及装置
US20150288703A1 (en) Data possession verification system and method
CN108289028A (zh) 一种签名认证方法、相关设备及计算机可读存储介质
WO2021134424A1 (zh) 一种基于区块链的数字货币交易方法、装置及系统
US20230259930A1 (en) Cross-chain transaction processing method and apparatus, electronic device, and storage medium
CN110493008B (zh) 一种区块链认证方法、装置、设备及介质
CN111275414A (zh) 一种基于区块链的数字货币兑换方法、装置及系统
CN112740251A (zh) 一种基于区块链的数字货币交易方法、装置及系统
CN111275549A (zh) 基于区块链的数字货币交易方法及相关装置
CN113379415B (zh) 区块链系统及信息处理方法、系统、装置、计算机介质
CN103198258B (zh) 复合系统以及传输数据的方法
CN113474801A (zh) 用于促进并发交易的方法、交易管理设备和计算机可读介质
EP4307607A1 (en) System and method of secured interface to a blockchain based network
Geng et al. Blockchain-inspired Framework for Runtime Verification of IoT Ecosystem Task Fulfillment

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