CN112766854B - 基于区块链的数字商品交易方法和装置 - Google Patents

基于区块链的数字商品交易方法和装置 Download PDF

Info

Publication number
CN112766854B
CN112766854B CN202110090826.1A CN202110090826A CN112766854B CN 112766854 B CN112766854 B CN 112766854B CN 202110090826 A CN202110090826 A CN 202110090826A CN 112766854 B CN112766854 B CN 112766854B
Authority
CN
China
Prior art keywords
order
information
event
payment
target digital
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.)
Active
Application number
CN202110090826.1A
Other languages
English (en)
Other versions
CN112766854A (zh
Inventor
王吉元
刘晓磊
郑艺林
陈刚
张如意
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai 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 Alipay Hangzhou Information Technology Co Ltd, Ant Blockchain Technology Shanghai Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110090826.1A priority Critical patent/CN112766854B/zh
Publication of CN112766854A publication Critical patent/CN112766854A/zh
Application granted granted Critical
Publication of CN112766854B publication Critical patent/CN112766854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • 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

Abstract

本说明书提供了一种基于区块链的数字商品交易方法和装置,所述区块链上部署有用于对数字商品进行管理的智能合约,且所述区块链中存储有数字商品的供应方发布的目标数字商品对象;所述方法应用于节点设备,包括:获取采购方发起的订购交易,调用所述智能合约中的商品订购逻辑,生成对应于订购信息的订购事件;在接收到所述供应方提交的与所述订购事件对应的订购确认信息时,进一步调用所述智能合约中的订购支付逻辑,基于所述订购信息完成订购支付;在接收到所述供应方提交的针对所述订购信息的发货信息时,进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理。

Description

基于区块链的数字商品交易方法和装置
技术领域
本说明书一个或多个实施方式涉及电子商务领域,尤其涉及一种基于区块链的数字商品交易方法和装置。
背景技术
数字商品,一般指信息内容基于数字格式的交换物或通过网络以比特流方式运送的产品。如何为彼此之间没有建立信任关系的交易双方提供可信的交易流程,是数字商品交易场景中遇到的技术问题。
区块链通过将数据保存在彼此之间具有先后关系的一系列数据区块中来以去中心化的方式提供数据存储。区块的链由区块链节点的网络维护和更新,所述区块链节点也负责在共识方案下验证数据。
可以通过添加关于区块链交易的区块来维护和更新区块链。要将数据存储到区块链,可以将数据包括在区块链交易中以添加到区块链的新区块中。此外,许多区块链(例如,以太坊区块链)已经启用了区块链合约(也称为智能合约),这些合约可通过区块链交易执行。例如,区块链交易可以包括由外部拥有的账户(例如,区块链账户)发出、由区块链网络发送、并记录在区块链中的签名消息。可以执行区块链合约以实现所编程的功能。
发明内容
有鉴于此,本说明书一个或多个实施方式提供了一种基于区块链的数字商品交易方法、装置、计算机设备和计算机可读存储介质。
为实现上述目的,本说明书一个或多个实施方式提供技术方案如下:
根据本说明书一个或多个实施方式的第一方面,提出了一种基于区块链的数字商品交易方法,所述区块链的分布式账本中存储了由数字商品的供应方发布的与数字商品对应的目标数字商品对象;所述区块链上还部署有用于对所述目标数字商品对象进行管理的智能合约;所述方法应用于节点设备,包括:
获取采购方发起的订购交易;所述订购交易包括对与目标数字商品对象对应的目标数字商品的订购信息;
响应于所述订购交易,调用所述智能合约中的商品订购逻辑,生成对应于所述订购信息的订购事件,并将所述订购事件在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述订购事件;
在接收到所述供应方提交的与所述订购事件对应的订购确认信息时,进一步调用所述智能合约中的订购支付逻辑,基于所述订购信息完成订购支付,并将所述订购支付对应的支付凭证在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述支付凭证;
在接收到所述供应方在获取到所述支付凭证后提交的针对所述订购信息的发货信息时,进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理。
根据本说明书一个或多个实施方式的第二方面,提出了一种基于区块链的数字商品交易装置,所述区块链的分布式账本中存储了由数字商品的供应方发布的与数字商品对应的目标数字商品对象;所述区块链上还部署有用于对所述目标数字商品对象进行管理的智能合约;所述装置应用于节点设备,包括:
获取单元,获取采购方发起的订购交易;所述订购交易包括对与目标数字商品对象对应的目标数字商品的订购信息;
智能合约调用单元,响应于所述订购交易,调用所述智能合约中的商品订购逻辑,生成对应于所述订购信息的订购事件;
存储单元,将所述订购事件在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述订购事件;
所述智能合约调用单元,在接收到所述供应方提交的与所述订购事件对应的订购确认信息时,进一步调用所述智能合约中的订购支付逻辑,基于所述订购信息完成订购支付;
所述存储单元,进一步将所述订购支付对应的支付凭证在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述支付凭证;
所述智能合约调用单元,在接收到所述供应方在获取到所述支付凭证后提交的针对所述订购信息的发货信息时,进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理。
根据本说明书一个或多个实施方式的第三方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行所述节点设备所执行的基于区块链的数字商品交易方法。
根据本说明书一个或多个实施方式的第四方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行所述节点设备所执行的基于区块链的数字商品交易方法。
基于本说明书各个实施方式提供的基于区块链的数字商品交易方法、装置、计算机设备和计算机可读存储介质,利用区块链作为交易媒介,驱动了数字商品的交易,从而基于区块链的防篡改机制为交易双方提供了可信、快捷的数字商品交易。
附图说明
图1是一示例性实施例提供的创建智能合约的示意图。
图2是一示例性实施例提供的一种调用智能合约的示意图。
图3是一示例性实施例提供的创建智能合约和调用智能合约的示意图。
图4(a)和图4(b)分别是一示例性实施方式提供的可执行基于区块链的数字商品交易方法的系统架构示意图。
图5是一示例性实施方式提供的数字商品的供应方向区块链发布数字商品对象的流程示意图。
图6是一示例性实施方式提供的基于区块链的数字商品交易方法的流程示意图。
图7是一示例性实施方式提供的基于区块链的数字商品交易装置的示意图。
图8运行本说明书所提供的基于区块链的数字商品交易装置实施方式的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书一个或多个实施方式相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施方式的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施方式中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施方式中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施方式中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施方式中也可能被合并为单个步骤进行描述。
数字商品,一般指信息内容基于数字格式的交换物或通过网络以比特流方式运送的产品。例如,数字商品可包括用户在电商平台进行账户充值时使用的充值密钥,用户在游戏应用中进行游戏时间扩充的点卡口令、用于兑换皮肤装备等游戏附属物的密钥字符等,还可包括用于兑换实体商品的礼品卡附载的账户密钥等。
由于数字商品本身可以不具备实体性质,因此基于网络进行数字化交易可快速提高数字商品的交易效率;然而,数字化交易场景中最亟需解决的问题是交易双方的互信。
有鉴于此,本说明书的一个或多个实施方式中提供了基于区块链的数字商品交易方法,基于区块链的防篡改机制,提高了数字商品交易的可信性和准确性。
本说明书一个或多个实施例所述的区块链或区块链,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的账本数据分布在时间上相连的一个个“区块(block)”之内,后一区块可包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。可以预期,本说明书所提供的实施方式能够在合适类型的区块链中实现。
计算设备可将数据构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
无论区块链采用哪种共识算法,记账节点均可以将接收到的交易打包以生成最新区块,并将生成的最新区块发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块的过程中,也可以执行该区块中的包含的交易。
需要说明的是,区块链每产生一个最新区块,则在该最新区块中的交易被执行之后,区块链中这些被执行交易的对应状态会随之发生变化。例如,以账户模型构架的区块链中,外部账户或者智能合约账户的账户状态,通常也会随着交易的执行而发生相应的变化。
例如,当区块中的一笔“转账交易”执行完毕后,与该“转账交易”相关的转出方账户和转入方账户的余额(即这些账户的Balance字段的字段值),通常也会随之发生变化。
又如,区块中的“智能合约调用交易”则用以调用区块链上部署的智能合约,在节点设备对应的EVM内调用上述智能合约以执行上述“智能合约调用交易”,并将执行上述智能合约调用交易后、智能合约账户的账户状态更新在该智能合约的账户中。
在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(Smartcontract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,EVM直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。
如图1所示,Bob将一笔包含创建智能合约信息的交易(Transaction)发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图中交易的From字段用于记录发起创建智能合约的账户的地址,交易的Data字段的字段值保存的合约代码可以是字节码,交易的To字段的字段值为一个null(空)的账户。当节点间通过共识机制达成一致后,这个智能合约成功创建,后续用户可以调用这个智能合约。
智能合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址;比如,图1中各节点中的“0x68e12cf284…”就代表了创建的这个合约账户的地址;合约代码(Code)和账户存储(Storage)将保存在该合约账户的账户存储中。智能合约的行为由合约代码控制,而智能合约的账户存储则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
前述提到,包含创建智能合约的交易的Data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,高级语言可以采用诸如Solidity、Serpent、LLL语言等。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
以Solidity语言为例,用其编写的合约代码与面向对象编程语言中的类(Class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储(Storage)字段中的值,用于保存合约的状态。
如图2所示,仍以以太坊为例,Bob将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图中交易的From字段用于记录发起调用智能合约的账户的地址,To字段用于记录被调用的智能合约的地址,交易的Data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点查看合约账户的账户状态,例如,上述账户状态可以Key-Value对的形式存储到智能合约的Storage树中。调用智能合约的交易的执行结果,可以是以交易收据(receipt)的形式,存储到MPT收据树中。
智能合约可以以规定的方式在区块链中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。
智能合约的事件机制,是智能合约与链外实体进行交互的一种方式。对于区块链上部署的智能合约来说,通常无法直接与链外实体进行交互;例如,智能合约在调用完成后,通常无法将智能合约的调用结果,点对点的发送给智能合约的调用发起方。
智能合约在调用的过程中产生的调用结果(包括中间结果和最终的调用结果),通常都会以事件(Event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在节点设备的存储空间中进行存储。而需要与智能合约进行交互的链外实体,则可以通过监听节点设备的存储空间中存储的上述交易日志的方式,来获取智能合约的调用结果;
例如,以以太坊为例,交易日志最终会作为调用该智能合约的那笔交易笔交易的收据(receipt)的一部分内容,存储在以上描述的MPT收据树中。而与智能合约进行交互的链外实体,可以监听节点设备的存储空间中存储的MPT收据树上的交易收据,并从监听到的交易收据中,来获取智能合约生成的事件。
区块链上部署的智能合约,通常只能引用区块链上存储的数据内容;而在实际应用中,对基于智能合约技术实现的一些复杂的业务场景,智能合约可能还需要引用一些链外的数据实体上的外部数据。
在这种场景下,区块链上部署的智能合约,可以通过Oracle预言机,来引用链外的数据实体上的数据,进而实现智能合约与真实世界的数据实体之间的数据交互。其中,链外的数据实体,可以包括诸如部署在链外的中心化的服务器或者数据中心,等等。
在实际应用中,在为区块链上的智能合约部署预言机时,可以先在区块链上部署一个与预言机对应的预言机智能合约;其中,该预言机智能合约用于维护预言机发给区块链上的智能合约的外部数据;例如,预言机发给区块链上的智能合约的外部数据,可以存储在预言机智能合约的账户存储空间中。
当区块链上的目标智能合约被调用时,可以从该预言机智能合约的账户存储空间中,来读取该目标智能合约所需的外部数据,来完成智能合约的调用过程。
需要说明的是,预言机在向区块链上的智能合约发送外部数据时,可以采用主动发送的方式,也可以采用被动发送的方式。
在一种实现方式中,链外的数据实体可以将需要提供给目标智能合约的外部数据,利用预言机的私钥进行签名后,发送给上述预言机智能合约;例如,在时间时,可以采用周期性发送的方式,将签名后的上述外部数据发送给上述预言机智能合约;
而在上述预言机智能合约可以维护预言机的CA证书,在收到链外的数据实体发送的外部数据后,可以使用该CA证书中维护的该预言机的公钥,对该外部数据的签名进行验证,并在验证通过后,将链外的数据实体发送的外部数据在该预言机智能合约的账户存储空间中进行存储。
在另一种实现方式中,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以利用智能合约的事件机制,与上述预言机进行交互,并由上述预言机将该目标智能合约所需的外部数据,发送至该预言机智能合约的账户存储空间中。
例如,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以生成一个外部数据获取事件,并将该外部数据获取事件记录到调用该智能合约的那笔交易的交易日志中,并将该交易日志存储到节点设备的存储空间;而上述预言机可以监听节点设备的存储空间中存储的该预言机智能合约产生的交易日志,并在监听到交易日志中的外部数据获取事件后,响应监听到的该外部数据获取事件,将上述目标智能合约所需的外部数据,发送给上述预言机智能合约。
本说明书以下示出的一个或多个实施方式提供了基于区块链的数字商品交易方法,该交易方法应用于图4(a)或图4(b)所示的包含数字商品的供应方41、采购方42和区块链40的交易系统中。
在图4(a)中,所述数字商品的供应方41、采购方42可分别与所述区块链中的节点设备43、44对接(或者供应方41、采购方42可分别被直接被部署在节点设备43、44上),或者,与同一节点设备对接(图4(a)中未示意该种情况),从而实现与区块链上的数据信息交互。所述区块链上部署有用于对数字商品进行管理的智能合约405。
由供应方41或采购方42向区块链40发起的交易,可以是由供应方41或采购方42基于区块链的预设交易格式,将待发布至区块链40的数据信息封装成交易并将封装成的交易发布至与其对应的节点设备43或44,从而使上述交易在区块链中广播、共识,并在共识验证通过后收录于区块链40。
由供应方41或采购方42向区块链40发起的交易,也可以是由与供应方41对应的节点设备43或与采购方对应的节点设备44,在接收到由供应方41或采购方42发送的待发布至区块链40的数据信息后,基于区块链的预设交易格式,将所述数据信息封装成交易,并将封装成的交易发布至与其对应的节点设备43或44,从而使上述交易在区块链中广播、共识,并在共识验证通过后收录于区块链40。本说明书对此不做限定。
在图4(b)中,所述数字商品的供应方41、采购方42均为数字商品交易业务系统47的用户,供应方41和采购方42没有直接与区块链的节点设备对接,而是由上述数字商品交易业务系统的服务器与节点设备43对接。上述数字商品交易业务系统通过外部数据源服务合约406(例如预言机合约),与数字商品管理的智能合约405进行数据的交互。
此时,通过合约间的消息调用,上述数字商品交易业务系统可获取上述品管理的智能合约405的各种数字商品交易事件,并将上述供应方41或采购方42发送的对各种数字商品交易事件的响应数据打包为交易格式,通过上述外部数据源服务合约406发送至智能合约405,以进一步调用数字商品管理的智能合约405的业务逻辑。
值得注意的是,在该系统架构中,本说明书以下各实施方式所述的供应方对应的节点设备、或采购方对应的节点设备均可以包括上述节点设备43。
图5示意了数字商品的供应方基于上述智能合约向区块链中发布目标数字商品对象的过程,由区块链中的节点设备执行,包括:
步骤502,获取数字商品的供应方发起的对目标数字商品的发布交易;所述发布交易包括待发布的所述目标数字商品的商品信息;
步骤504,响应于所述发布交易,调用所述智能合约中的数字商品发布逻辑,基于所述目标数字商品的商品信息,为所述目标数字商品创建预设格式的目标数字商品对象,并将创建的所述数字商品对象发布至所述区块链进行存储,以使数字商品的采购方同步区块链数据获取所述目标数字商品对象。
上述目标数字商品对象可以表示为预设格式的数据结构体。在一示出的实施方式中,上述目标数字商品对象为用于展示目标数字商品(equity)的商品信息的数据结构体:
Figure BDA0002912603520000111
Figure BDA0002912603520000121
值得注意的是,供应方为了详细描述目标数字商品对象,可提供一些描述图片,并将上述描述图片的存储地址保存至上述目标数字商品对象中,以方便采购方根据上述存储地址指示的描述查阅对目标数字商品的详细描述。更优地,由于图片占用的数据空间较大,为节约上述区块链的存储空间,上述存储地址可以为上述区块链外的第三方存储数据库地址,例如是与所述区块链存在跨链引用关系的另一条区块链,本说明书对此不作限定。
另外,上述数据结构体包含的目标数字商品锚定的链下资源类型,是指供应方可接收的可用于支付目标数字商品的实际资源类型,如货币、股票、债券、不动产等类型;在要求采购方使用货币进行支付时,上述资源类型还可包括货币的种类,如人民币、美元、欧元等等。
采购方在从区块链上获取上述目标数字商品对象后,即可获知上述目标数字商品的商品信息,从而对商品信息所展示的目标数字商品发起订购。
步骤502至504例举了通过调用上述智能合约完成目标数字商品对象的发布的过程,上述供应方也可不调用上述智能合约、而直接以交易的形式,将目标数字商品对象发布上链,或者,调用专门用于发布数字商品对象的其他智能合约,将目标数字商品对象发布上链,本说明书对此不作限定。
图6示意了一示例性实施方式提供的数字商品的供应方和采购方基于区块链上部署的上述智能合约、完成目标数字商品交易的过程。如图6所示,上述过程由区块链的节点设备执行,包括:
步骤602,获取采购方发起的订购交易;所述订购交易包括对与所述目标数字商品对象对应的目标数字商品的订购信息。
采购方可向与其对应的节点设备发起区块链数据同步请求,接收节点设备发送的区块链数据。上述区块链数据包含供应方向区块链中发布的目标数字商品对象。采购方基于获取到的目标数字商品对象,可向区块链发起上述订购交易。订购交易包含的订购信息可包括采购方订购的目标数字商品的数量,在一些允许竞价的交易模式中,上述采购信息还可包括采购方订购的目标数字商品的价格。
步骤604,响应于所述订购交易,调用所述智能合约中的商品订购逻辑,生成对应于所述订购信息的订购事件,并将所述订购事件在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述订购事件。
上述订购事件的内容可指定该订购事件的响应对象身份——上述目标数字商品的供应方的用户标识。供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后可从同步后的所述区块链账本中获取所述订购事件,供应方可向与其对应的节点设备发起区块链数据获取请求,并从其获得的区块链数据中检索(例如基于自身的用户标识检索)与自身相关、或(基于目标数字商品的标识检索)与目标数字商品相关的区块链事件。
在又一示出的实施方式中,如图4(a)所示,供应方41可向与其对应的节点设备43订阅与其相关的区块链事件,以使上述节点设备43在区块中监听到上述智能合约405生成的、与供应方41相关的区块链事件——上述订购事件时,主动将上述订购事件推送至供应方41。
或者,如图4(b)所示,数字商品交易业务系统47可向节点设备43订阅上述外部数据源服务合约406生成的、与其用户供应方41相关的数字商品交易事件,当上述智能合约405响应于所述订购交易,调用所述智能合约中的商品订购逻辑,生成对应于所述订购信息的订购事件,并将需要外部业务系统响应的订购事件推送至外部数据源服务合约406后,上述外部数据源服务合约406可进一步生成需要上述供应方41响应的业务事件;当上述节点设备43在区块中监听到、外部数据源服务合约406生成的、与供应方41相关的区块链事件——上述订购事件时,主动将上述订购事件推送至数字商品交易业务系统47。
供应方在获得上述订购事件后,可基于订购事件包含的订购信息执行订购确认前的验证,其验证内容可包括以下示出的一种或多种:
所述采购方的身份是否属于具有采购上述目标数字商品的权限的采购方名单;上述采购方名单可在目标数字商品对象中设置;
所述订购信息提示的订购数量是否超出所述目标数字商品的库存数量;
所述订购信息提示的订购数量是否超出单用户可购上限数量;
所述订购交易的发送时间是否超出所述目标数字商品的有效期限;
当上述目标数字商品的交易模式为竞价交易模式时,所述采购方在所述订购信息中设置的采购出价是否满足所述供应方的要求。
当上述供应方验证所述订购事件包含的订购信息不满足供应方的要求时,可向区块链发起针对上述订购事件的订购拒绝信息,以使区块链的节点设备继续调用上述智能合约,执行对应的拒单流程,如以下步骤606所示。
步骤606,如果未在预设的时段内接收到所述供应方提交的与所述订购事件对应的订购确认信息,或者,接收到所述供应方提交的与所述订购事件对应的拒绝订购信息,进一步调用所述智能合约中的拒绝订购逻辑,生成对应有所述订购信息的拒绝订购事件,并将所述拒绝订购事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述拒绝订购事件。
其中,所述拒绝订购事件指示的拒绝原因包括以下示出的一种或多种:
所述采购方的身份不属于所述目标数字商品对象中设置的采购方身份名单;
所述订购信息提示的订购数量超出所述目标数字商品对象中设置的库存数量;
所述订购信息提示的订购数量超出所述目标数字商品对象中设置的单用户可购上限数量;
所述订购交易的发送时间超出所述目标数字商品对象中设置的有效期限;
所述采购方在所述订购信息中设置的采购出价不符合所述目标数字商品对象中设置的价格范围。
当上述供应方验证所述订购事件包含的订购信息满足供应方的要求时,可向区块链发起对上述订购事件的订购确认信息,以使区块链的节点设备继续调用上述智能合约,执行对应的支付流程,如以下步骤608所示。
步骤608,在接收到所述供应方提交的与所述订购事件对应的订购确认信息时,进一步调用所述智能合约中的订购支付逻辑,基于所述订购信息完成订购支付,并将所述订购支付对应的支付凭证在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,从同步后的所述区块链账本中获取所述支付凭证。上述供应方通过与其对应的节点设备的信息交互,可获取到上述支付凭证。
步骤610,在接收到所述供应方在获取到所述支付凭证后提交的针对所述订购信息的发货信息时,进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理。
如前所述,目标数字商品对象中可以设置供应方可接受的用于支付所述目标数字商品的链下资源类型,如货币、股票、债券、或不动产资源等等。采购方可通过将现实世界的真实资产(包括货币、股票、债券票据、房产等资产形式)冻结后,在链上获得与被冻结的真实资产锚定的、且能够在链上流通的虚拟资产。
在实现时,采购方可与区块链网络的节点设备执行资产冻结兑换流程,采购方将一定数额的真实资产的冻结凭证发送至具有虚拟资产兑换权限的机构对应的节点设备;在实现时,采购方可将上述真实资产托管于上述具有虚拟资源兑换权限的机构名下;该机构对应的节点设备在接收到该冻结凭证后可将上述冻结凭证广播至区块链网络,以使区块链中的节点设备基于该冻结凭证,向该用户的区块链账户余额内增加与上述冻结的真实资产数额价值对应的虚拟资产。
上述基于冻结凭证,向该采购方的区块链账户余额内增加与上述冻结的真实资产数额价值对应的虚拟资产,可进一步通过采购方与虚拟资产兑换智能合约交互来实现:上述采购方或具有虚拟资产兑换权限的机构对应的节点设备向区块链网络发送虚拟资产兑换交易,该虚拟资产兑换交易包括上述资产冻结凭证;响应于上述虚拟资产兑换交易,区块链的节点设备调用区块链上部署的虚拟资产兑换合约,执行所述智能合约声明的资源兑换逻辑,向该采购方的区块链账户余额内增加与上述资产冻结凭证冻结的真实资产数额价值对应的虚拟资产。
基于上述的方式,采购方即可基于自身持有的真实资产,在区块链网络中获得可与真实资产的价值锚定的虚拟资产,上述虚拟资产可以表现为采购方的链上账户余额。
此时,上述步骤608中所述的节点设备调用用于管理目标数字商品对象的智能合约的订购支付逻辑,基于所述订购信息完成订购支付的具体过程可包括:基于所述订购信息获取订购所述目标数字商品对象所消耗的虚拟资产的总数量;例如,基于所述订购信息中的对目标数字商品的订购数量,以及,订购单件目标数字商品所消耗的虚拟资产的单价,计算订购所述目标数字商品对象所消耗的虚拟资产的总数量;
从所述采购方的区块链账户中持有的虚拟资产中,向所述供应方的区块链账户转移与所述总数量对应的虚拟资产,并在转移成功后生成对应的支付凭证。
上述支付凭证可以为与虚拟资产转移过程对应的智能合约执行日志,或者,上述执行日志的哈希摘要,或者,智能合约开发者所开发定义出的其他支付凭证形式,本实施方式对此不作限定。
当供应方的区块链账户中接收了上述虚拟资产后,可依据供应方的需求,向托管有上述真实资产的机构提出申请,适时适量地将上述虚拟资产兑换为真实资产,并由该机构对应的节点设备提出虚拟资产兑现交易,将供应方的区块链账户中相应数量的虚拟资产进行注销。
在又一示出的实施方式中,上述步骤608中所述的节点设备调用用于管理目标数字商品对象的智能合约的订购支付逻辑,基于所述订购信息完成订购支付的具体过程,还可包括:
响应于上述供应方提交的与所述订购事件对应的订购确认信息,生成对应于所述订购信息的支付事件,并将所述支付事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述支付事件以进行链外支付;
接收所述采购方触发的与所述支付事件对应的链外支付凭证,以以生成针对所述供应方的支付完成事件。
上述链外支付凭证可包括银行转账记录、或供应方可接受的其他类型的链下资产的转移记录或凭证。值得注意的是,为保证上述链下资产的转移或转账记录的真实可信性,可为对所述目标数字商品对象进行管理的智能合约设置对应的预言机,经采购方的支付行为的触发,与上述预言机连接的权威性机构,如银行、债券交易所、房产交易中心等,通过自身持有的私钥对上述链下资产的转移、转账记录等支付凭证进行数字签名,并将上述支付凭证和数字签名发送至上述预言机,以由该预言机执行对上述智能合约生成的支付事件的响应。
供应方在从区块链账本中获取到上述支付凭证后,即可基于上述订购信息对目标数字商品进行发货处理。
由于数字商品为数字形式的产品,上述供应方可基于该区块链网络完成上述数字商品的发货。本说明书并不限定供应方发货的具体方式。
在一示出的实施方式中,上述区块链中存储的目标数字商品对象包括所述目标数字商品的库存数量;上述采购方发布的订购信息中包含所述采购方对所述目标数字商品的订购数量;所述节点设备执行的进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理的具体过程,可包括:调用所述智能合约的发货逻辑,生成针对所述采购方的发货事件,所述发货事件包含与所述订购信息对应的目标数字商品的消费兑换信息,且所述消费兑换信息被所述采购方的公钥加密。
当上述目标数字商品为游戏点卡、账户充值卡等基于口令密钥即可消费使用的数字商品时,上述消费兑换信息可包含上述口令密钥;为了防止上述口令密钥被区块链上其他用户获取,供应方可使用采购方用户的公钥加密上述口令密钥;待采购方通过与其对应的节点设备获知上述发货事件后,可通过自身持有的私钥解密,从而获得可兑换使用的口令密钥。
如果上述目标数字商品对象中包含的库存数量为有限数量时,所述目标数字商品对象维护了所述目标数字商品的库存数量;所述订购信息包含所述采购方对所述目标数字商品的订购数量;上述节点设备调用上述智能合约的发货逻辑,基于所述订购信息针对所述目标数字商品进行发货处理的过程,还包括:基于所述订购数量,更新所述区块链中存储的目标数字商品对象中包括的所述库存数量。
步骤612,在接收到所述采购方提交的与所述发货事件对应的发货确认信息时,进一步调用所述智能合约中的发货确认逻辑,生成针对所述供应方的发货确认事件,并将所述发货确认事件在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述发货确认事件。
值得注意的是,在上述一个或多个实施方式中,节点设备调用智能合约所生成的订购事件、支付完成事件、发货事件、发货确认事件,以及上述供应方或采购方发送的对上述各事件的响应:订购确认信息(或拒绝订购信息)、支付凭证信息、发货确认信息都可采用统一格式的数据结构体,从而提升智能合约的执行效率,例如,上述各事件、或对事件的响应信息采用的数据结构体可包含以下内容:
Figure BDA0002912603520000181
Figure BDA0002912603520000191
当上述步骤602至612所述的数字商品交易方法应用在图4(a)所示的系统架构中时,上述供应方提交的与所述订购事件对应的订购确认信息、所述供应方提交的针对所述订购信息的发货信息、以及上述采购方提供的针对所述发货事件的发货确认信息均作为对所述智能合约405的调用交易;如前所述,上述各个对智能合约405的调用交易(包含采购方在步骤602中发出的订购交易)的data字段均可包含上述数据结构体中包含的一种或多种字段。在该实施方式中,省去了数字商品交易业务系统的建立,仅仅依靠智能合约405、及采购方、供应方对应的节点对区块链数据的同步,即可快捷可信地实现数字商品交易。
在又一示出的实施方式中,当上述步骤602至612所述的数字商品交易方法应用在图4(b)所示的系统架构中时,上述供应方提交的与所述订购事件对应的订购确认信息、所述供应方提交的针对所述订购信息的发货信息、以及上述采购方提供的针对所述发货事件的发货确认信息均是由外部数据服务合约406基于智能合约405产生的订购事件、支付完成事件、发货事件,而向智能合约405发送的对上述事件的响应消息,此时,上述供应方提交的与所述订购事件对应的订购确认信息、所述供应方提交的针对所述订购信息的发货信息、以及上述采购方提供的针对所述发货事件的发货确认信息并非是对智能合约405的调用交易的形式,而是智能合约间的调用消息的形式。
基于区块链的共识机制和分布式存储特征,被存储至区块链的数据难以被用户篡改或删除。因此上述一种或多种实施方式提供的基于区块链的数字商品的交易方法,在智能合约中为交易双方设置了交易流程涉及的业务逻辑,并将交易流程中产生的数据存储于区块链中,即提高了交易的可信性,又提高了交易的执行效率。
值得注意的是,本说明书并不限定上述数字商品的供应方和采购方的具体业务角色,例如,供应方可以为数字商品的发行商,此时采购方可以为数字商品的经销商,也可以为消费者;或者,供应方可以为数字商品的经销商,此时,采购方可以为数字商品的次级经销商,也可以为消费者;又如,供应方和采购方均可以为个人用户,两用户间就目标数字商品开展链上的交易,等等。
与上述流程实现对应,本说明书的实施方式还提供了基于区块链的数字商品交易装置70。装置70可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图8所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
如图7所示,本说明书提供了一种基于区块链的数字商品交易装置70,所述区块链的分布式账本中存储了由数字商品的供应方发布的与数字商品对应的目标数字商品对象;所述区块链上还部署有用于对所述目标数字商品对象进行管理的智能合约;所述装置70应用于节点设备,包括:
获取单元702,获取采购方发起的订购交易;所述订购交易包括对与目标数字商品对象对应的目标数字商品的订购信息;
智能合约调用单元704,响应于所述订购交易,调用所述智能合约中的商品订购逻辑,生成对应于所述订购信息的订购事件;
存储单元706,将所述订购事件在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述订购事件;
所述智能合约调用单元704,在接收到所述供应方提交的与所述订购事件对应的订购确认信息时,进一步调用所述智能合约中的订购支付逻辑,基于所述订购信息完成订购支付;
所述存储单元706,进一步将所述订购支付对应的支付凭证在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述支付凭证;
所述智能合约调用单元704,在接收到所述供应方在获取到所述支付凭证后提交的针对所述订购信息的发货信息时,进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理。
在又一示出的实施方式中,所述区块链上发布了与用户的链外资产锚定的虚拟资产;
所述基于所述订购信息完成订购支付,包括:
基于所述订购信息获取订购所述目标数字商品对象所消耗的虚拟资产的总数量;
从所述采购方的区块链账户中持有的虚拟资产中,向所述供应方的区块链账户转移与所述总数量对应的虚拟资产,并在转移成功后生成对应的支付凭证。
在又一示出的实施方式中,所述基于所述订购信息完成订购支付,包括:
生成对应于所述订购信息的支付事件,并将所述支付事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述支付事件以进行链外支付;
接收所述采购方触发的与所述支付事件对应的链外支付凭证,以生成针对所述供应方的支付完成事件。
在又一示出的实施方式中,所述基于所述订购信息针对所述目标数字商品进行发货处理,包括:
生成针对所述采购方的发货事件,所述发货事件包含与所述订购信息对应的目标数字商品的消费兑换信息,且所述消费兑换信息被所述采购方的公钥加密。
在又一示出的实施方式中,所述目标数字商品对象维护了所述目标数字商品的库存数量;所述订购信息包含所述采购方对所述目标数字商品的订购数量;
所述基于所述订购信息针对所述目标数字商品进行发货处理,还包括:
基于所述订购数量,更新所述区块链中存储的目标数字商品对象中包括的所述库存数量。
在又一示出的实施方式中,所述目标数字商品对象为包含若干字段的结构体;所述若干字段包括以下一种或多种字段的组合:
目标数字商品的商品标识字段;
目标数字商品对象的库存数量;
用于支付所述目标数字商品的链下资源类型字段;
具有所述目标数字商品的采购权限的采购方名单;
所述目标数字商品的描述图片的链外地址字段。
在又一示出的实施方式中,所述供应方提交的与所述订购事件对应的订购确认信息和所述供应方提交的针对所述订购信息的发货信息均为对所述智能合约的调用交易;
其中,对所述智能合约的调用交易的data字段包括以下一种或多种字段的组合:
目标数字商品的商品标识字段;
目标数字商品的订购数量字段;
用于支付的资产数量字段;
用于发货的目标数字商品对象的消费兑换信息字段。
在又一示出的实施方式中,所述供应方提交的与所述订购事件对应的订购确认信息和所述供应方提交的针对所述订购信息的发货信息均为部署在所述区块链上的外部数据源服务合约分别响应于所述订购事件、所述支付凭证,而向所述智能合约提供的合约间调用消息。
在又一示出的实施方式中,如果未在预设的时段内接收到所述供应方提交的与所述订购事件对应的订购确认信息,或者,接收到所述供应方提交的与所述订购事件对应的拒绝订购信息,所述智能合约调用单元704进一步调用所述智能合约中的拒绝订购逻辑,生成对应有所述订购信息的拒绝订购事件;
所述存储单元706,进一步将所述拒绝订购事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述拒绝订购事件。
上述装置70中各个单元的功能和作用的实现过程具体详见上述区块链的节点设备所执行的基于区块链的数字商品交易方法中对应步骤的实现过程,相关之处参见方法实施方式的部分说明即可,在此不再赘述。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施方式阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施方式相对应,本说明书的实施方式还提供了一种计算机设备,如图8所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施方式中区块链的节点设备所执行的基于区块链的数字商品交易方法的各个步骤。对上述区块链的节点设备所执行的基于区块链的数字商品交易方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中区块链的节点设备所执行的基于区块链的数字商品交易方法的各个步骤。对上述区块链的节点设备所执行的基于区块链的数字商品交易方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施方式可提供为方法、系统或计算机程序产品。因此,本说明书的实施方式可采用完全硬件实施方式、完全软件实施方式或结合软件和硬件方面的实施方式的形式。而且,本说明书的实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (20)

1.一种基于区块链的数字商品交易方法,所述区块链的分布式账本中存储了由数字商品的供应方发布的与数字商品对应的目标数字商品对象;所述区块链上还部署有用于对所述目标数字商品对象进行管理的智能合约;所述方法应用于节点设备,包括:
获取采购方发起的订购交易;所述订购交易包括对与目标数字商品对象对应的目标数字商品的订购信息;
响应于所述订购交易,调用所述智能合约中的商品订购逻辑,生成对应于所述订购信息的订购事件,并将所述订购事件在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述订购事件;
在接收到所述供应方提交的与所述订购事件对应的订购确认信息时,进一步调用所述智能合约中的订购支付逻辑,基于所述订购信息完成订购支付,并将所述订购支付对应的支付凭证在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述支付凭证;
在接收到所述供应方在获取到所述支付凭证后提交的针对所述订购信息的发货信息时,进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理。
2.根据权利要求1所述的方法,所述区块链上发布了与用户的链外资产锚定的虚拟资产;
所述基于所述订购信息完成订购支付,包括:
基于所述订购信息获取订购所述目标数字商品对象所消耗的虚拟资产的总数量;
从所述采购方的区块链账户中持有的虚拟资产中,向所述供应方的区块链账户转移与所述总数量对应的虚拟资产,并在转移成功后生成对应的支付凭证。
3.根据权利要求1所述的方法,所述基于所述订购信息完成订购支付,包括:
生成对应于所述订购信息的支付事件,并将所述支付事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述支付事件以进行链外支付;
接收所述采购方触发的与所述支付事件对应的链外支付凭证,以生成针对所述供应方的支付完成事件。
4.根据权利要求1或2或3所述的方法,所述基于所述订购信息针对所述目标数字商品进行发货处理,包括:
生成针对所述采购方的发货事件,所述发货事件包含与所述订购信息对应的目标数字商品的消费兑换信息,且所述消费兑换信息被所述采购方的公钥加密。
5.根据权利要求4所述的方法,所述目标数字商品对象维护了所述目标数字商品的库存数量;所述订购信息包含所述采购方对所述目标数字商品的订购数量;
所述基于所述订购信息针对所述目标数字商品进行发货处理,还包括:
基于所述订购数量,更新所述区块链中存储的目标数字商品对象中包括的所述库存数量。
6.根据权利要求1所述的方法,所述目标数字商品对象为包含若干字段的结构体;所述若干字段包括以下一种或多种字段的组合:
目标数字商品的商品标识字段;
目标数字商品对象的库存数量字段;
用于支付所述目标数字商品的链下资源类型字段;
具有所述目标数字商品的采购权限的采购方名单字段;
所述目标数字商品的描述图片的链外地址字段。
7.根据权利要求1所述的方法,所述供应方提交的与所述订购事件对应的订购确认信息和所述供应方提交的针对所述订购信息的发货信息均为对所述智能合约的调用交易;
其中,对所述智能合约的调用交易的data字段包括以下一种或多种字段的组合:
目标数字商品的商品标识字段;
目标数字商品的订购数量字段;
用于支付的资产数量字段;
用于发货的目标数字商品对象的消费兑换信息字段。
8.根据权利要求1所述的方法,所述供应方提交的与所述订购事件对应的订购确认信息和所述供应方提交的针对所述订购信息的发货信息均为部署在所述区块链上的外部数据源服务合约分别响应于所述订购事件、所述支付凭证,而向所述智能合约提供的合约间调用消息。
9.根据权利要求1所述的方法,还包括:
如果未在预设的时段内接收到所述供应方提交的与所述订购事件对应的订购确认信息,或者,接收到所述供应方提交的与所述订购事件对应的拒绝订购信息,进一步调用所述智能合约中的拒绝订购逻辑,生成对应有所述订购信息的拒绝订购事件,并将所述拒绝订购事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述拒绝订购事件。
10.一种基于区块链的数字商品交易装置,所述区块链的分布式账本中存储了由数字商品的供应方发布的与数字商品对应的目标数字商品对象;所述区块链上还部署有用于对所述目标数字商品对象进行管理的智能合约;所述装置应用于节点设备,包括:
获取单元,获取采购方发起的订购交易;所述订购交易包括对与目标数字商品对象对应的目标数字商品的订购信息;
智能合约调用单元,响应于所述订购交易,调用所述智能合约中的商品订购逻辑,生成对应于所述订购信息的订购事件;
存储单元,将所述订购事件在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述订购事件;
所述智能合约调用单元,在接收到所述供应方提交的与所述订购事件对应的订购确认信息时,进一步调用所述智能合约中的订购支付逻辑,基于所述订购信息完成订购支付;
所述存储单元,进一步将所述订购支付对应的支付凭证在所述区块链的分布式账本中进行存储,以使所述供应方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述供应方从同步后的所述区块链账本中获取所述支付凭证;
所述智能合约调用单元,在接收到所述供应方在获取到所述支付凭证后提交的针对所述订购信息的发货信息时,进一步调用所述智能合约中的发货逻辑,基于所述支付凭证针对所述目标数字商品进行发货处理。
11.根据权利要求10所述的装置,所述区块链上发布了与用户的链外资产锚定的虚拟资产;
所述基于所述订购信息完成订购支付,包括:
基于所述订购信息获取订购所述目标数字商品对象所消耗的虚拟资产的总数量;
从所述采购方的区块链账户中持有的虚拟资产中,向所述供应方的区块链账户转移与所述总数量对应的虚拟资产,并在转移成功后生成对应的支付凭证。
12.根据权利要求10所述的装置,所述基于所述订购信息完成订购支付,包括:
生成对应于所述订购信息的支付事件,并将所述支付事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述支付事件以进行链外支付;
接收所述采购方触发的与所述支付事件对应的链外支付凭证,以生成针对所述供应方的支付完成事件。
13.根据权利要求10或11或12所述的装置,所述基于所述订购信息针对所述目标数字商品进行发货处理,包括:
生成针对所述采购方的发货事件,所述发货事件包含与所述订购信息对应的目标数字商品的消费兑换信息,且所述消费兑换信息被所述采购方的公钥加密。
14.根据权利要求13所述的装置,所述目标数字商品对象维护了所述目标数字商品的库存数量;所述订购信息包含所述采购方对所述目标数字商品的订购数量;
所述基于所述订购信息针对所述目标数字商品进行发货处理,还包括:
基于所述订购数量,更新所述区块链中存储的目标数字商品对象中包括的所述库存数量。
15.根据权利要求10所述的装置,所述目标数字商品对象为包含若干字段的结构体;所述若干字段包括以下一种或多种字段的组合:
目标数字商品的商品标识字段;
目标数字商品对象的库存数量;
用于支付所述目标数字商品的链下资源类型字段;
具有所述目标数字商品的采购权限的采购方名单;
所述目标数字商品的描述图片的链外地址字段。
16.根据权利要求10所述的装置,所述供应方提交的与所述订购事件对应的订购确认信息和所述供应方提交的针对所述订购信息的发货信息均为对所述智能合约的调用交易;
其中,对所述智能合约的调用交易的data字段包括以下一种或多种字段的组合:
目标数字商品的商品标识字段;
目标数字商品的订购数量字段;
用于支付的资产数量字段;
用于发货的目标数字商品对象的消费兑换信息字段。
17.根据权利要求10所述的装置,所述供应方提交的与所述订购事件对应的订购确认信息和所述供应方提交的针对所述订购信息的发货信息均为部署在所述区块链上的外部数据源服务合约分别响应于所述订购事件、所述支付凭证,而向所述智能合约提供的合约间调用消息。
18.根据权利要求10所述的装置,还包括:
如果未在预设的时段内接收到所述供应方提交的与所述订购事件对应的订购确认信息,或者,接收到所述供应方提交的与所述订购事件对应的拒绝订购信息,所述智能合约调用单元进一步调用所述智能合约中的拒绝订购逻辑,生成对应有所述订购信息的拒绝订购事件,并将所述拒绝订购事件在所述区块链的分布式账本中进行存储,以使所述采购方对应的节点设备在对所述区块链的区块链账本进行数据同步后,所述采购方从同步后的所述区块链账本中获取所述拒绝订购事件。
19.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至9任意一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1到9任意一项所述的方法。
CN202110090826.1A 2021-01-22 2021-01-22 基于区块链的数字商品交易方法和装置 Active CN112766854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110090826.1A CN112766854B (zh) 2021-01-22 2021-01-22 基于区块链的数字商品交易方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110090826.1A CN112766854B (zh) 2021-01-22 2021-01-22 基于区块链的数字商品交易方法和装置

Publications (2)

Publication Number Publication Date
CN112766854A CN112766854A (zh) 2021-05-07
CN112766854B true CN112766854B (zh) 2021-11-02

Family

ID=75706762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110090826.1A Active CN112766854B (zh) 2021-01-22 2021-01-22 基于区块链的数字商品交易方法和装置

Country Status (1)

Country Link
CN (1) CN112766854B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301163B (zh) * 2021-06-02 2022-12-16 网易(杭州)网络有限公司 业务处理方法、系统、电子设备及存储介质
CN113469820A (zh) * 2021-07-27 2021-10-01 支付宝(杭州)信息技术有限公司 基于区块链的资产管理方法、装置及系统
CN117495504A (zh) * 2023-11-20 2024-02-02 广州市翎泷科技有限公司 数字商品的订单数据分析方法、系统、设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017192837A1 (en) * 2016-05-04 2017-11-09 Silvio Micali Distributed transaction propagation and verification system
EP3355225B1 (en) * 2017-01-31 2022-07-27 Sony Group Corporation Apparatus and method for providing a ethereum virtual device
CN108109017A (zh) * 2018-01-11 2018-06-01 杭州秘猿科技有限公司 基于区块链智能合约的商品交易系统
CN109886677B (zh) * 2018-12-29 2021-06-29 创新先进技术有限公司 一种基于区块链的商品购置方法和装置

Also Published As

Publication number Publication date
CN112766854A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN110471984B (zh) 基于区块链的业务处理方法及装置、电子设备
CN111026789B (zh) 基于区块链的电子票据查询方法及装置、电子设备
CN110706114B (zh) 一种基于区块链的违约资产处理方法、装置及电子设备
CN112767163B (zh) 基于区块链的数字商品交易方法和装置
CN112766854B (zh) 基于区块链的数字商品交易方法和装置
CN112200571B (zh) 基于区块链的资源发放方法、装置及电子设备
CN112883109B (zh) 基于区块链的数字商品交易方法和装置
CN111476667B (zh) 基于区块链的原创作品交易方法及装置和电子设备
CN109313685A (zh) 区块链系统的加密应用
CN110458631B (zh) 基于区块链的票据号码分配方法、装置及电子设备
CN110766550A (zh) 基于区块链的资产查询方法及装置、电子设备
US11615078B2 (en) Blockchain-based transaction methods
CN112200567B (zh) 基于区块链的资源管理方法、装置及电子设备
WO2021017437A1 (zh) 基于区块链的票据核销方法及装置、电子设备、存储介质
US11429983B2 (en) Blockchain-based bill write-off method, apparatus, electronic device, and storage medium
US11443307B2 (en) Cross-border resource transfer authenticity verification method, device and electronic equipment
CN110738566A (zh) 一种基于区块链的资产筛选方法、装置及电子设备
CN112200568B (zh) 基于区块链的账户创建方法、装置及电子设备
CN112101938B (zh) 基于区块链的数字印章使用方法、装置及电子设备
CN111475521A (zh) 基于区块链的货物管理方法及装置和电子设备
CN112561407B (zh) 基于区块链的资产管理方法、系统及装置
CN113506111A (zh) 基于区块链的实体物品所有权登记方法及装置
CN112200572A (zh) 基于区块链的资源发放方法、装置及电子设备
CN114708093A (zh) 基于区块链的数字资源处理方法和装置
CN113536384B (zh) 基于区块链的隐私数据映射方法、装置、介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant