CN110458541B - 基于区块链的对象置换方法及装置 - Google Patents

基于区块链的对象置换方法及装置 Download PDF

Info

Publication number
CN110458541B
CN110458541B CN201910684302.8A CN201910684302A CN110458541B CN 110458541 B CN110458541 B CN 110458541B CN 201910684302 A CN201910684302 A CN 201910684302A CN 110458541 B CN110458541 B CN 110458541B
Authority
CN
China
Prior art keywords
swap
user
information
blockchain
replacement
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
CN201910684302.8A
Other languages
English (en)
Other versions
CN110458541A (zh
Inventor
孙健康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910684302.8A priority Critical patent/CN110458541B/zh
Publication of CN110458541A publication Critical patent/CN110458541A/zh
Application granted granted Critical
Publication of CN110458541B publication Critical patent/CN110458541B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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

Abstract

本说明书提供了一种基于区块链的对象置换方法和装置,应用于包括多个用户客户端和第一节点设备的区块链系统;所述方法包括:接收被所述区块链的区块收录的多个置换需求交易,所述置换需求交易包括用户对应的置换需求信息,所述置换需求信息包括换出对象的信息和换入对象的信息;执行对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一换入对象的信息匹配的第二换出对象的信息,所述第一换入对象的信息被包括在第一置换需求信息中;所述第二换出对象的信息被包括在第二置换需求信息中;发送第一匹配通知,所述第一匹配通知用于通知已为所述第一用户的第一换入对象匹配到所述第二用户的第二换出对象。

Description

基于区块链的对象置换方法及装置
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的对象置换方法及装置。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于区块链的对象置换方法、装置、计算机设备和计算机可读存储介质。
为实现上述目的,本说明书一个或多个实施例提供了一种基于区块链的对象置换方法,应用于包括多个用户客户端和第一节点的区块链系统;所述方法由区块链的第一节点设备执行,包括:
接收被所述区块链的区块收录的多个置换需求交易,所述置换需求交易包括用户对应的置换需求信息,所述置换需求信息包括换出对象的信息和换入对象的信息;
执行对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一换入对象的信息匹配的第二换出对象的信息,所述第一换入对象的信息被包括在与第一用户对应的第一置换需求信息中;所述第二换出对象的信息被包括在与第二用户对应的第二置换需求信息中;
发送第一匹配通知,所述第一匹配通知用于通知已为所述第一用户的第一换入对象匹配到所述第二用户的第二换出对象;所述第一匹配通知包括所述第二换出对象的信息。
在又一示出的实施方式中,所述区块链上部署有用于为对象置换作匹配的智能合约;
执行对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一置换需求信息所包括的第一换入对象的信息匹配的第二换出对象的信息,包括:
调用所述智能合约,执行所述智能合约声明的对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一置换需求信息所包括的第一换入对象的信息匹配的第二换出对象的信息。
在又一示出的实施方式中,所述的方法,还包括:
接收第一用户客户端发送的第一确认通知,所述第一确认通知用以确认所述第一用户确认选择所述第二换出对象作为换入对象;
发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象;
接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户。
在又一示出的实施方式中,所述的方法,还包括:
发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,所述电子合约包括所述第二换出对象的信息;
接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的第一数字签名和第二数字签名。
在又一示出的实施方式中,所述智能合约还声明有电子合约交易发送逻辑;所述第一确认通知和所述第二确认通知是被所述第一用户客户端和第二用户客户端发送至所述区块链的第一确认通知交易和第二确认通知交易;
所述发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,包括:
接收所述第一确认通知交易和所述第二确认通知交易;
调用所述智能合约,执行所述智能合约声明的电子合约交易发送逻辑,向所述区块链发送电子合约交易,所述电子合约交易包括所述第二换出对象的信息,所述第一用户和第二用户的区块链地址。
在又一示出的实施方式中,所述第一置换需求信息所包括的第一换出对象的信息与所述第二置换需求信息所包括的第二换入对象的信息匹配;
所述第一匹配通知还用于通知已为所述第一用户的第一换出对象匹配到所述第二用户的第二换入对象。
在又一示出的实施方式中,所述的方法,还包括:
向所述第二用户客户端发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象,且已为所述第二用户的第二换入对象匹配到所述第一用户的第一换出对象;上述第二匹配通知包括所述第一换出对象的信息;
接收第一用户客户端发送的第一确认通知,所述第一确认通知用于确认所述第一用户确认同意所述第二换出对象作为换入对象且同意将所述第一换出对象置换给所述第二用户;
接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户且同意将所述第一换出对象作为换入对象。
在又一示出的实施方式中,所述的方法,还包括:
向所述第一用户客户端和所述第二用户客户端发送待签署的电子合约,所述电子合约包括所述第一换出对象和所述第二换出对象的信息;
接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的数字签名。
在又一示出的实施方式中,所述换出对象为房屋;所述换出对象的信息包括所述房屋的地址、租金、租期信息;所述置换需求信息还包括用户的身份信息。
在又一示出的实施方式中,所述区块链为联盟链,所述第一节点为联盟链的联盟成员节点;所述多个用户客户端与所述第一节点设备通信连接。
相应地,本说明书还提供了一种基于区块链的对象置换装置,应用于包括多个用户客户端和第一节点设备的区块链系统;所述装置应用于所述区块链的第一节点设备,包括:
接收单元,用于接收被所述区块链的区块收录的多个置换需求交易,所述置换需求交易包括用户对应的置换需求信息,所述置换需求信息包括换出对象的信息和换入对象的信息;
执行单元,用于执行对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一换入对象的信息匹配的第二换出对象的信息,所述第一换入对象的信息被包括在与第一用户对应的第一置换需求信息中;所述第二换出对象的信息被包括在与第二用户对应的第二置换需求信息中;
发送单元,用于发送第一匹配通知,所述第一匹配通知用于通知已为所述第一用户的第一换入对象匹配到所述第二用户的第二换出对象;所述第一匹配通知包括所述第二换出对象的信息。
在又一示出的实施方式中,所述区块链上部署有用于为对象置换作匹配的智能合约;
所述执行单元,进一步用于:
调用所述智能合约,执行所述智能合约声明的对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一置换需求信息所包括的第一换入对象的信息匹配的第二换出对象的信息。
在又一示出的实施方式中,所述接收单元,进一步用于接收第一用户客户端发送的第一确认通知,所述第一确认通知用以确认所述第一用户确认选择所述第二换出对象作为换入对象;
所述发送单元,进一步用于发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象;
所述接收单元,进一步用于接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户。
在又一示出的实施方式中,所述发送单元,进一步用于发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,所述电子合约包括所述第二换出对象的信息;
所述接收单元,进一步用于接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的第一数字签名和第二数字签名。
在又一示出的实施方式中,所述智能合约还声明有电子合约交易发送逻辑;所述第一确认通知和所述第二确认通知是被所述第一用户客户端和第二用户客户端发送至所述区块链的第一确认通知交易和第二确认通知交易;
所述发送单元,进一步用于接收所述第一确认通知交易和所述第二确认通知交易;
调用所述智能合约,执行所述智能合约声明的电子合约交易发送逻辑,向所述区块链发送电子合约交易,所述电子合约交易包括所述第二换出对象的信息,所述第一用户和第二用户的区块链地址。
在又一示出的实施方式中,所述第一置换需求信息所包括的第一换出对象的信息与所述第二置换需求信息所包括的第二换入对象的信息匹配;
所述第一匹配通知还用于通知已为所述第一用户的第一换出对象匹配到所述第二用户的第二换入对象。
在又一示出的实施方式中,所述发送单元,进一步用于向所述第二用户客户端发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象,且已为所述第二用户的第二换入对象匹配到所述第一用户的第一换出对象;上述第二匹配通知包括所述第一换出对象的信息;
所述接收单元,进一步用于接收所述第一用户客户端发送的第一确认通知,所述第一确认通知用于确认所述第一用户确认同意所述第二换出对象作为换入对象且同意将所述第一换出对象置换给所述第二用户;
所述接收单元,进一步用于接收所述第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户且同意将所述第一换出对象作为换入对象。
在又一示出的实施方式中,所述发送单元,进一步用于向所述第一用户客户端和所述第二用户客户端发送待签署的电子合约,所述电子合约包括所述第一换出对象和所述第二换出对象的信息;
所述接收单元,进一步用于接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的数字签名。
在又一示出的实施方式中,所述换出对象为房屋;所述换出对象的信息包括所述房屋的地址、租金、租期信息;所述置换需求信息还包括用户的身份信息。
在又一示出的实施方式中,所述区块链为联盟链,所述第一节点为联盟链的联盟成员节点;所述多个用户客户端与所述第一节点设备通信连接。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如上述各实施方式所述的基于区块链的对象置换方法。
相应地,本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如上述各实施方式所述的基于区块链的对象置换方法。
附图说明
图1是一示例性实施例提供的创建智能合约的示意图;
图2是一示例性实施例提供的一种调用智能合约的示意图;
图3是一示例性实施例提供的创建智能合约和调用智能合约的示意图;
图4是一示例性实施例提供的基于区块链的对象置换方法的流程示意图;
图5是一示例性实施例提供的基于区块链的房屋置换方法的流程示意图;
图6是一示例性实施例提供的基于区块链的对象置换装置的示意图;
图7是运行本说明书所提供的基于区块链的对象置换装置实施例的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
对于用户来讲,其占有的对象可能与实际需求的对象有着较大的差别。为了方便对象资源的优化配置,本说明书提供了一种基于区块链的对象置换方法,应用于包括多个用户客户端和第一节点设备的区块链系统。
本说明书一个或多个实施例所述的区块链网络,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块可包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。
对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
其中,区块链中支持的共识算法可以包括:
第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法;
第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等共识算法。
在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中的包含的交易。
本领域的技术人员熟知,由于区块链网络系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链系统有着其他中心化数据库系统所无法比拟的保证数据安全、防攻击篡改的特性。由此可知,被收录至区块链的分布式数据库中的数据不会被攻击或篡改,从而保证了存证入区块链的分布式数据库的数据信息的真实可靠性。
区块链网络的示例类型可以包括公有区块链网络、私有区块链网络和联盟区块链网络。尽管术语区块链通常与比特币加密货币网络相关联,但是本文使用的区块链可指代不参考任何特定用例的DLS(分布式账本系统)。
在公有区块链网络中,共识过程由共识网络的节点控制。例如,数百、数千、甚至数百万个实体可以在公有区块链网络中协作,每个实体在公有区块链网络中操作至少一个节点。因此,公有区块链网络可以被认为是相对于参与实体的公有网络。示例公有区块链网络包括比特币网络,比特币网络是对等支付网络。比特币网络利用分布式账本,被称为区块链。然而如上所述,术语区块链通常用于指代不特别参考比特币网络的分布式账本。
通常,公有区块链网络支持公有交易。公有交易与公有区块链网络内的所有节点共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链。也就是说,对于全局区块链,所有节点处于完全一致的状态。为了达成共识(例如,同意向区块链添加块),在公有区块链网络内实施共识协议。示例共识协议包括但不限于,在比特币网络中实施的工作量证明(proof-of-work,POW)。
通常,私有区块链网络提供给特定实体,特定实体集中控制读取和写入权限。该实体控制哪些节点能够参与区块链网络。因此,私有区块链网络通常被称为许可网络,其对允许谁参与网络及其参与水平(例如,仅在某些交易中)施加限制。可以使用各种类型的访问控制机制(例如,现有参与者投票添加新实体,监管机构可以控制准入)。
通常,联盟区块链网络在参与实体中是私有的。在联盟区块链网络中,共识过程由授权的一组节点(联盟成员节点)控制,一个或多个节点由相应的实体(例如,企业)操作。例如,由十(10)个实体(例如,企业)组成的联盟可以操作联盟区块链网络,每个实体在该联盟区块链网络中操作至少一个节点。因此,就参与实体而言,联盟区块链网络可以被认为是私有网络。在一些示例中,每个实体(节点)必须对每个块进行签名,以使该块有效并将有效的块添加到区块链。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个块进行签名以使该块有效,并且将有效的块添加到区块链。
可以预期,本说明书所提供的实施方式能够在任何合适类型的区块链网络中实现。
在本说明书提供的一个或多个实施例中,用户实体通过在终端运行客户端安装程序加入到上述区块链网络中来,上述客户端安装程序可以为区块链节点设备的安装程序,相应地,该用户客户端也作为上述区块链的节点设备,在备份区块链的分布式数据库副本时向其邻近的节点设备(如上述第一节点设备)发起数据获取请求,或通过向其邻近的节点设备进行数据广播而向区块链上发布数据;上述客户端安装程序也可以是与联盟区块链链中的一联盟成员节点设备(如上述第一节点设备)连接的、被控制访问权限的区块链用户客户端程序,相应地,该客户端由于不具备直接访问区块链的分布式数据库的权限,而一般不被视为上述区块链的节点,需要向与其连接的一个或多个联盟成员节点进行具有权限获知的数据请求。本说明书并不限定上述用户客户端是否为上述区块链的节点设备。如上所述,上述客户端无论作为区块链节点设备还是联盟成员节点的用户端设备,可通过与第一节点设备通信连接而获取存储于区块链的分布式数据库中的数据,或通过与第一节点设备通信连接向区块链的分布式数据库中发送数据。
在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(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字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点查看合约账户的账户状态。
智能合约可以以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。
本说明书一个或多个实施方式所述的对象,可包括任何可用于置换的实体物品、或虚拟物品、或服务等等。
图4示意了本说明书一示例性实施例提供的基于区块链的对象置换方法的流程步骤,上述方法步骤可由上述区块链的第一节点设备执行,包括:
步骤402,接收被所述区块链的区块收录的多个置换需求交易,所述置换需求交易包括置换需求信息,所述置换需求信息包括换出对象的信息和换入对象的信息。
换出对象的信息是指用户待换出的对象的信息,换入对象的信息是指用户待收入的对象的信息。上述换出对象和换入对象通常为同类型的物品或服务。
本实施方式并不限定上述置换需求交易的发送方身份,如上述实施方式所述,当上述用户客户端作为区块链的节点设备时,上述多个置换需求交易可以是用户客户端直接发送至上述区块链的分布式数据库的;当上述用户客户端作为联盟链中与联盟成员节点——第一节点设备连接的客户端时,上述多个置换需求交易可以是上述第一节点设备接收用户客户端发送的置换需求信息后,基于该置换需求信息生成置换需求交易,再将上述置换需求交易发送至上述区块链,经区块链节点设备的共识验证后,被收录于区块链的区块中。上述第一节点设备通过同步区块链的区块数据而获取接收到上述多个置换需求交易。
上述通过用户客户端与第一节点设备进行点对点通信的方式进行数据传输的实现方式,通常适用于联盟区块链网络系统,上述第一节点设备作为联盟链的联盟成员节点,与上述多个用户客户端通信连接,并控制上述多个用户客户端对区块链的访问权限。
上述用户客户端作为区块链的节点设备直接向区块链的分布式数据库中发布交易的实现方式,通常适用于公有区块链网络系统。由于每个客户端可以基于用户自身的需求发送置换需求信息交易,且基于区块链的防篡改机制,被收录至区块链的分布式数据库中的数据不会被轻易篡改,因此更加提高了上述置换需求信息的数据真实性。
步骤404,执行对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一换入对象的信息匹配的第二换出对象的信息,所述第一换入对象的信息被包括在与第一用户对应的第一置换需求信息中;所述第二换出对象的信息被包括在与第二用户对应的第二置换需求信息中。
由于换入对象的信息通常用于描述用户对换入对象的需求,因此上述与第一换入对象的信息匹配的第二换出对象的信息,是指上述第二换出对象的信息包括的、第二换出对象指标范围或对象特性满足第一用户的第一换入对象的信息描述。
上述第一节点设备可基于在步骤402中接收多个置换需求交易,以获取的多个置换需求信息,在本设备运行的计算机可执行程序上执行上述对象匹配逻辑。在又一示出的实施方式中,上述区块链上部署有用于为对象置换作匹配的智能合约;相应的,上述多个置换需求交易用以调用上述智能合约,执行该智能合约声明的对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一置换需求信息所包括的第一换入对象的信息匹配的第二换出对象的信息。上述多个置换需求交易作为智能合约调用交易,除了包含换出对象的信息和换入对象的信息之外,还可包括所调用的智能合约的地址、调用函数名称、或输入参数等内容。
在本实施方式中,上述置换需求交易不仅可用于调用智能合约,本领域的技术人员应知,在上述置换需求交易被共识验证收录到区块链的分布式数据库后,即可基于区块链的防篡改机制为上述置换需求交易所包含的换出对象的信息和换入对象的信息起到存证作用。
智能合约声明有一系列可执行程序代码,可在区块链节点设备的EVM上执行。由于智能合约在被部署到区块链后,可在任何时候经调用而执行,因而大大提升了为不同的用户进行对象置换的业务效率;而且,智能合约的任何变动或更改都在区块链上有迹可循,因此有着较低的人为干预风险和去中心化权威特性,区块链网络的节点设备均可准确执行且达成共识的执行结果,相比于可能受人为干预的中心化可执行程序,通过调用智能合约执行对象置换匹配可获得更加公平、公正、准确的执行结果。
步骤406,发送第一匹配通知,所述第一匹配通知用于通知已为所述第一用户的第一换入对象信息匹配到所述第二用户的第二换出对象;所述第一匹配通知包括所述第二换出对象的信息。
类似的,上述发送第一匹配通知,可以由上述第一节点设备通过点对点的通信方式,直接向第一用户客户端发送;也可以由上述第一节点设备将上述第一匹配通知以区块链交易的形式发送到区块链的分布式数据库内;还可以为上述智能合约部署匹配通知逻辑,在上述智能合约为上述第一用户的第一换入对象的信息匹配到第二用户的第二换出对象后,由上述智能合约直接向上述区块链发送第一匹配通知交易。
基于上述一个或多个实施方式所述的对象置换方法,为上述第一用户的换入对象需求匹配到对应的第二换出对象,而且第一用户的换出对象的信息还可以加入到其他用户的换入对象匹配筛选中,为多个用户拥有的对象、及需求的对象进行了优化配置。
值得注意的是,上述一个或多个实施方式中并不限定上述第一置换需求信息和第二置换需求信息发送的先后顺序。
在又一示出的实施方式中,为了促成上述第一用户和第二用户对上述第二换出对象达成置换共识,如图4所示,上述基于区块链的对象置换方法还包括以下步骤:
步骤408,接收第一用户客户端发送的第一确认通知,所述第一确认通知用以确认所述第一用户确认选择所述第二换出对象作为换入对象。
类似地,上述第一确认通知可以由上述第一用户客户端通过点对点的通信方式,直接向第一节点设备发送;当上述第一用户客户端作为区块链的节点设备时,也可以由上述第一用户客户端将上述第一确认通知以区块链交易的形式发送到区块链内,以在上述第一确认通知交易被区块链共识验证后收录于区块链区块内,上述第一节点设备通过同步区块链的区块数据而接收获取到上述第一确认通知。上述第一确认通知交易还可用以调用上述智能合约以执行相应的下阶段步骤流程,例如,步骤410。
步骤410,发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象。
类似地,上述第二匹配通知可以由上述第一节点设备通过点对点的通信方式,直接向第二用户客户端发送;当上述第二用户客户端作为区块链的节点设备时,也可以由上述第一节点设备将上述第二匹配通知以区块链交易的形式发送到区块链内,以在上述第二匹配通知交易被区块链共识验证后收录于区块链区块内,上述第二用户客户端通过同步区块链的区块数据而接收获取到上述第二匹配通知;还可以为上述智能合约部署匹配通知逻辑,在上述智能合约为上述第一用户的第一换入对象的信息匹配到第二用户的第二换出对象后,由上述智能合约直接向上述区块链发送第二匹配通知交易。
值得注意的是,本实施方式中并不限定上述步骤408与步骤410的执行先后顺序。
步骤412,接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户。
类似地,上述第二确认通知可以由上述第二用户客户端通过点对点的通信方式,直接向第一节点设备发送;当上述第二用户客户端作为区块链的节点设备时,也可以由上述第二用户客户端将上述第二确认通知以区块链交易的形式发送到区块链内,以在上述第二确认通知交易被区块链共识验证后收录于区块链区块内,上述第一节点设备通过同步区块链的区块数据而接收获取到上述第一确认通知。上述第一确认通知交易还可用以调用上述智能合约以执行相应的下阶段步骤流程,例如,步骤414。
当上述第一用户客户端和第二用户客户端均确认可基于上述第二换出对象进行置换,在又一示出的实施方式中,还可进行基于第二换出对象的合约签署步骤。
如图4所示,上述基于区块链的对象置换方法还包括以下步骤:
步骤414,发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,所述电子合约包括所述第二换出对象的信息。
类似地,上述电子合约可以由上述第一节点设备通过点对点的通信方式,直接向第一用户客户端和第二用户客户端发送;当上述第一用户客户端和第二用户客户端作为区块链的节点设备时,也可以由上述第一节点设备将上述电子合约以区块链交易的形式发送到区块链内,以在上述电子合约交易被区块链共识验证后收录于区块链区块内,上述第一用户客户端和第二用户客户端通过同步区块链的区块数据而接收获取到上述电子合约;还可以为上述智能合约部署电子合约交易发送逻辑,在上述智能合约接收所述第一确认通知交易和所述第二通知交易的调用后,执行所述智能合约声明的电子合约交易发送逻辑,向所述区块链发送电子合约交易,所述电子合约交易包括所述第二换出对象的信息,所述第一用户和第二用户的区块链地址。
步骤416,接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的第一数字签名和第二数字签名。
类似地,上述第一数字签名和第二数字签名可以由上述第一用户客户端和第二用户客户端通过点对点的通信方式,直接向第一节点设备发送;当上述第一、第二用户客户端作为区块链的节点设备时,也可以由上述第一、第二用户客户端将上述第一数字签名和第二数字签名分别以区块链交易的形式发送到区块链内,以在上述第一数字签名或第二数字签名交易被区块链共识验证后收录于区块链区块内,上述第一节点设备通过同步区块链的区块数据而接收获取到上述第一数字签名和第二数字签名。上述第一数字签名或第二数字签名交易还可用以调用上述智能合约以执行相应的下阶段步骤流程(如有)。
本领域的技术人员应知,在上述的多种实施方式中,将上述第一数字签名和第二数字签名以交易的形式收录至区块链的分布式数据库(区块)中,可以起到为电子合约、上述第一数字签名或第二数字签名存证的作用。
在上述多种实施方式中,第一用户与第二用户就第二换出对象达成置换共识,但并未限定是否就第一用户的第一换出对象达成置换共识。本说明书所述的对象置换方法,可以应用在两个用户间对彼此的换出对象进行置换,还可以应用在三个或更多个用户间,就每个用户的换出对象进行匹配和置换,例如在ABCD四个用户间进行A的换出对象匹配置换至B、B的换出对象匹配置换至C、C的换出对象匹配置换至D、D的换出对象匹配置换至A的轮流匹配置换,以达到多个用户间对象的优化配置。
为了具体描述上述多用户间的对象置换过程,以下以房屋作为置换对象,列举应用上述一个或多个实施方式所述的对象置换方法,为两个用户彼此的换出房屋进行交换的示例。
如图5所示,用户1与用户2分别持有房屋11和房屋21,房屋11地址处于区域A,而用户1由于在区域B工作期望可以将住房换到区域B;房屋21地址处于区域B,而用户2由于在区域A工作期望可以将住房换到区域A。基于以上的房屋置换需求,本示例提供的房屋置换方法如下:
步骤501和502,用户1和用户2在自持的手机移动端分别安装房屋置换平台的客户端APP;通过上述客户端APP,用户1和用户2可以与上述房屋置换平台进行通信连接并注册为上述房屋置换平台的用户,上述房屋置换平台对应的服务设备作为一联盟区块链的联盟成员节点;上述注册为平台用户的过程可能需要用户1和用户2分别提交各自的身份信息、或进行身份验证。
步骤503和504,用户1和用户2分别在客户端APP里提交置换需求信息,以将上述置换需求信息发送到租房置换平台服务端。
用户1提交的置换需求信息包括换出房屋11,区域A,租金1000元,租期2019年8月起,期望换入房屋:区域B,租金800至1200元,租期2019年8月起。
用户2提交的置换需求信息包括换出房屋21,区域B,租金1100元,租期2019年8月15日起,期望换入房屋:区域A,租金800至1200元,租期2019年8月15日起。
步骤505和506,房屋置换平台服务端接收到上述用户1或用户2的置换需求信息后,将上述置换需求信息处理为区块链可接收的置换需求交易并发送到区块链;上述置换需求交易除包括上述置换需求信息的内容外,还包括房屋匹配智能合约1的区块链地址和房屋匹配函数名称,用以调用部署在区块链上的房屋匹配智能合约1。
步骤507和508,待上述两置换需求交易经过共识验证被上述区块链收录到区块后,房屋置换平台服务端作为上述区块链的节点设备分别接收到上述两置换需求交易。
步骤509和510,房屋置换平台服务端作为上述区块链的节点设备在该节点设备的EVM上分别执行上述置换需求交易所调用的智能合约1的房屋匹配函数,并获取到用户1的换出房屋11与用户2的期望换入房屋匹配、用户的换出房屋21与用户1的期望换入房屋匹配的结果。
步骤511和512,房屋置换平台服务端分别向用户1和用户2的客户端APP发送第一匹配通知和第二匹配通知,上述第一匹配通知用以通知以为用户1的换出房屋11找到匹配的用户2,且已为用户1的期望换入房屋找到用户2的换出房屋21,上述第一匹配通知还包括上述用户2的换出房屋21的信息,如“区域B,租金1100元,租期2019年8月15日起”;上述第二匹配通知用以通知以为用户2的换出房屋21找到匹配的用户1,且已为用户2的期望换入房屋找到用户1的换出房屋11,上述第二匹配通知还包括上述用户1的换出房屋11的信息,如“区域A,租金1100元,租期2019年8月起”。
步骤513和514,房屋置换平台服务端分别接收用户1和用户2的客户端APP发送第一确认通知和第二确认通知;所述第一确认通知用于确认用户1确认同意将房屋21作为换入对象且同意将所述房屋11置换给用户2;所述第二确认通知用于确认用户2确认同意将房屋11作为换入对象且同意将所述房屋21置换给用户21;上述第一确认通知或第二确认通知还可包括一些备注信息,比如具体的房屋交付时间。
步骤515和516,房屋置换平台服务端向所述用户1客户端和所述用户2客户端发送待签署的房屋置换电子合约,所述电子合约包括所述房屋11和21的信息,及用户1和用户2的身份信息;上述电子合约可以是上述房屋置换平台服务端基于上述第一确认通知和第二确认通知,调用上述智能合约1的电子合约生成逻辑而生成获取的。
步骤517和518,房屋置换平台服务端接收所述用户1客户端和所述用户2客户端发送的对所述电子合约的数字签名。
步骤519和520,为了便于司法存证和取证,上述房屋置换平台服务端将上述用户1客户端和用户2客户端发送的对所述电子合约的数字签名发送至上述区块链以进行区块链存证。
经过上述步骤501至520的过程,上述房屋置换平台服务端可以为用户1和用户2的房屋进行预期的置换,合理有效地优化了房屋资源配置;并基于区块链的防篡改机制,为上述匹配的过程和置换的结果进行了区块链存证。
与上述流程实现对应,本说明书的实施例还提供了基于区块链的对象置换装置60。装置60可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图7所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
如图6所示,本说明书还提供了一种基于区块链的对象置换装置60,应用于包括多个用户客户端和第一节点设备的区块链系统,所述多个用户客户端与所述第一节点设备通信连接;所述装置60应用于所述区块链的第一节点设备,包括:
接收单元602,用于接收被所述区块链的区块收录的多个置换需求交易,所述置换需求交易包括用户对应的置换需求信息,所述置换需求信息包括换出对象的信息和换入对象的信息;
执行单元604,用于执行对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一换入对象的信息匹配的第二换出对象的信息,所述第一换入对象的信息被包括在与第一用户对应的第一置换需求信息中;所述第二换出对象的信息被包括在与第二用户对应的第二置换需求信息中;
发送单元606,用于发送第一匹配通知,所述第一匹配通知用于通知已为所述第一用户的第一换入对象匹配到所述第二用户的第二换出对象;所述第一匹配通知包括所述第二换出对象的信息。
在又一示出的实施方式中,所述区块链上部署有用于为对象置换作匹配的智能合约;
所述执行单元604,进一步用于:
调用所述智能合约,执行所述智能合约声明的对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一置换需求信息所包括的第一换入对象的信息匹配的第二换出对象的信息。
在又一示出的实施方式中,所述接收单元602,进一步用于接收第一用户客户端发送的第一确认通知,所述第一确认通知用以确认所述第一用户确认选择所述第二换出对象作为换入对象;
所述发送单元606,进一步用于发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象;
所述接收单元602,进一步用于接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户。
在又一示出的实施方式中,所述发送单元606,进一步用于发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,所述电子合约包括所述第二换出对象的信息;
所述接收单元602,进一步用于接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的第一数字签名和第二数字签名。
在又一示出的实施方式中,所述智能合约还声明有电子合约交易发送逻辑;所述第一确认通知和所述第二确认通知是被所述第一用户客户端和第二用户客户端发送至所述区块链的第一确认通知交易和第二确认通知交易;
所述发送单元606,进一步用于接收所述第一确认通知交易和所述第二确认通知交易;
调用所述智能合约,执行所述智能合约声明的电子合约交易发送逻辑,向所述区块链发送电子合约交易,所述电子合约交易包括所述第二换出对象的信息,所述第一用户和第二用户的区块链地址。
在又一示出的实施方式中,所述第一置换需求信息所包括的第一换出对象的信息与所述第二置换需求信息所包括的第二换入对象的信息匹配;
所述第一匹配通知还用于通知已为所述第一用户的第一换出对象匹配到所述第二用户的第二换入对象。
在又一示出的实施方式中,所述发送单元606,进一步用于向所述第二用户客户端发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象,且已为所述第二用户的第二换入对象匹配到所述第一用户的第一换出对象;上述第二匹配通知包括所述第一换出对象的信息;
所述接收单元602,进一步用于接收所述第一用户客户端发送的第一确认通知,所述第一确认通知用于确认所述第一用户确认同意所述第二换出对象作为换入对象且同意将所述第一换出对象置换给所述第二用户;
所述接收单元602,进一步用于接收所述第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户且同意将所述第一换出对象作为换入对象。
在又一示出的实施方式中,所述发送单元606,进一步用于向所述第一用户客户端和所述第二用户客户端发送待签署的电子合约,所述电子合约包括所述第一换出对象和所述第二换出对象的信息;
所述接收单元602,进一步用于接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的数字签名。
在又一示出的实施方式中,所述换出对象为房屋;所述换出对象的信息包括所述房屋的地址、租金、租期信息;所述置换需求信息还包括用户的身份信息。
在又一示出的实施方式中,所述区块链为联盟链,所述第一节点为联盟链的联盟成员节点;所述用户客户端为被所述第一节点控制所述区块链访问权限的客户端。
上述装置60中各个单元的功能和作用的实现过程具体详见上述区块链的第一节点设备所执行的对象置换方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,如图7所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中上述区块链第一节点设备所执行的基于区块链的对象置换方法的各个步骤。对上述区块链第一节点设备所执行的基于区块链的对象置换方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中上述区块链第一节点设备所执行的基于区块链的对象置换方法的各个步骤。对上述区块链节点设备所执行的基于区块链的对象置换方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (20)

1.一种基于区块链的对象置换方法,应用于包括多个用户客户端和第一节点设备的区块链系统;所述区块链上部署有用于为对象置换作匹配的智能合约;所述方法由区块链的第一节点设备执行,包括:
接收被所述区块链的区块收录的多个置换需求交易,所述置换需求交易包括用户对应的置换需求信息,所述置换需求信息包括换出对象的信息和换入对象的信息;
调用所述智能合约,执行所述智能合约声明的对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一换入对象的信息匹配的第二换出对象的信息,所述第一换入对象的信息被包括在与第一用户对应的第一置换需求信息中;所述第二换出对象的信息被包括在与第二用户对应的第二置换需求信息中;
发送第一匹配通知,所述第一匹配通知用于通知已为所述第一用户的第一换入对象匹配到所述第二用户的第二换出对象;所述第一匹配通知包括所述第二换出对象的信息。
2.根据权利要求1所述的方法,还包括:
接收第一用户客户端发送的第一确认通知,所述第一确认通知用以确认所述第一用户确认选择所述第二换出对象作为换入对象;
发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象;
接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户。
3.根据权利要求2所述的方法,还包括:
发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,所述电子合约包括所述第二换出对象的信息;
接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的第一数字签名和第二数字签名。
4.根据权利要求3所述的方法,所述智能合约还声明有电子合约交易发送逻辑;所述第一确认通知和所述第二确认通知是被所述第一用户客户端和第二用户客户端发送至所述区块链的第一确认通知交易和第二确认通知交易;
所述发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,包括:
接收所述第一确认通知交易和所述第二确认通知交易;
调用所述智能合约,执行所述智能合约声明的电子合约交易发送逻辑,向所述区块链发送电子合约交易,所述电子合约交易包括所述第二换出对象的信息,所述第一用户和第二用户的区块链地址。
5.根据权利要求1所述的方法,所述第一置换需求信息所包括的第一换出对象的信息与所述第二置换需求信息所包括的第二换入对象的信息匹配;
所述第一匹配通知还用于通知已为所述第一用户的第一换出对象匹配到所述第二用户的第二换入对象。
6.根据权利要求5所述的方法,还包括:
向所述第二用户客户端发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象,且已为所述第二用户的第二换入对象匹配到所述第一用户的第一换出对象;上述第二匹配通知包括所述第一换出对象的信息;
接收第一用户客户端发送的第一确认通知,所述第一确认通知用于确认所述第一用户确认同意所述第二换出对象作为换入对象且同意将所述第一换出对象置换给所述第二用户;
接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户且同意将所述第一换出对象作为换入对象。
7.根据权利要求6所述的方法,还包括:
向所述第一用户客户端和所述第二用户客户端发送待签署的电子合约,所述电子合约包括所述第一换出对象和所述第二换出对象的信息;
接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的数字签名。
8.根据权利要求1或5所述的方法,所述换出对象为房屋;所述换出对象的信息包括所述房屋的地址、租金、租期信息;所述置换需求信息还包括用户的身份信息。
9.根据权利要求1或5所述的方法,所述区块链为联盟链,所述第一节点为联盟链的联盟成员节点;所述多个用户客户端与所述第一节点设备通信连接;所述多个用户客户端与所述第一节点设备通信连接。
10.一种基于区块链的对象置换装置,应用于包括多个用户客户端和第一节点设备的区块链系统;所述区块链上部署有用于为对象置换作匹配的智能合约;所述装置应用于所述区块链的第一节点设备,包括:
接收单元,用于接收被所述区块链的区块收录的多个置换需求交易,所述置换需求交易包括用户对应的置换需求信息,所述置换需求信息包括换出对象的信息和换入对象的信息;
执行单元,用于调用所述智能合约,执行所述智能合约声明的对象匹配逻辑,从所述多个置换需求信息所包括的多个换出对象的信息中获取与第一换入对象的信息匹配的第二换出对象的信息,所述第一换入对象的信息被包括在与第一用户对应的第一置换需求信息中;所述第二换出对象的信息被包括在与第二用户对应的第二置换需求信息中;
发送单元,用于发送第一匹配通知,所述第一匹配通知用于通知已为所述第一用户的第一换入对象匹配到所述第二用户的第二换出对象;所述第一匹配通知包括所述第二换出对象的信息。
11.根据权利要求10所述的装置,
所述接收单元,进一步用于接收第一用户客户端发送的第一确认通知,所述第一确认通知用以确认所述第一用户确认选择所述第二换出对象作为换入对象;
所述发送单元,进一步用于发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象;
所述接收单元,进一步用于接收第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户。
12.根据权利要求11所述的装置,
所述发送单元,进一步用于发送待所述第一用户客户端和所述第二用户客户端签署的电子合约,所述电子合约包括所述第二换出对象的信息;
所述接收单元,进一步用于接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的第一数字签名和第二数字签名。
13.根据权利要求12所述的装置,所述智能合约还声明有电子合约交易发送逻辑;所述第一确认通知和所述第二确认通知是被所述第一用户客户端和第二用户客户端发送至所述区块链的第一确认通知交易和第二确认通知交易;
所述发送单元,进一步用于接收所述第一确认通知交易和所述第二确认通知交易;
调用所述智能合约,执行所述智能合约声明的电子合约交易发送逻辑,向所述区块链发送电子合约交易,所述电子合约交易包括所述第二换出对象的信息,所述第一用户和第二用户的区块链地址。
14.根据权利要求10所述的装置,所述第一置换需求信息所包括的第一换出对象的信息与所述第二置换需求信息所包括的第二换入对象的信息匹配;
所述第一匹配通知还用于通知已为所述第一用户的第一换出对象匹配到所述第二用户的第二换入对象。
15.根据权利要求14所述的装置,
所述发送单元,进一步用于向所述第二用户客户端发送第二匹配通知,所述第二匹配通知用于通知已为所述第二用户的第二换出对象匹配到所述第一用户的第一换入对象,且已为所述第二用户的第二换入对象匹配到所述第一用户的第一换出对象;上述第二匹配通知包括所述第一换出对象的信息;
所述接收单元,进一步用于接收所述第一用户客户端发送的第一确认通知,所述第一确认通知用于确认所述第一用户确认同意所述第二换出对象作为换入对象且同意将所述第一换出对象置换给所述第二用户;
所述接收单元,进一步用于接收所述第二用户客户端发送的第二确认通知,所述第二确认通知用于确认第二用户同意将所述第二换出对象置换给所述第一用户且同意将所述第一换出对象作为换入对象。
16.根据权利要求15所述的装置,
所述发送单元,进一步用于向所述第一用户客户端和所述第二用户客户端发送待签署的电子合约,所述电子合约包括所述第一换出对象和所述第二换出对象的信息;
所述接收单元,进一步用于接收所述第一用户客户端和所述第二用户客户端发送的对所述电子合约的数字签名。
17.根据权利要求10或14所述的装置,所述换出对象为房屋;所述换出对象的信息包括所述房屋的地址、租金、租期信息;所述置换需求信息还包括用户的身份信息。
18.根据权利要求10或14所述的装置,所述区块链为联盟链,所述第一节点为联盟链的联盟成员节点;所述多个用户客户端与所述第一节点设备通信连接。
19.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至9任意一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至9中任一项所述方法的步骤。
CN201910684302.8A 2019-07-26 2019-07-26 基于区块链的对象置换方法及装置 Active CN110458541B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910684302.8A CN110458541B (zh) 2019-07-26 2019-07-26 基于区块链的对象置换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910684302.8A CN110458541B (zh) 2019-07-26 2019-07-26 基于区块链的对象置换方法及装置

Publications (2)

Publication Number Publication Date
CN110458541A CN110458541A (zh) 2019-11-15
CN110458541B true CN110458541B (zh) 2023-10-20

Family

ID=68483590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910684302.8A Active CN110458541B (zh) 2019-07-26 2019-07-26 基于区块链的对象置换方法及装置

Country Status (1)

Country Link
CN (1) CN110458541B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464823B (zh) * 2020-04-02 2021-12-10 腾讯科技(深圳)有限公司 虚拟礼物的交换方法、装置、电子设备及存储介质
CN112613861B (zh) * 2020-12-18 2024-02-02 国网浙江省电力有限公司嘉兴供电公司 一种基于联盟链的电力预售交易方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598094B1 (en) * 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
CN108320228A (zh) * 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
CN108805656A (zh) * 2018-05-22 2018-11-13 北京京东尚科信息技术有限公司 供需匹配方法、平台、系统和计算机可读存储介质
CN109409693A (zh) * 2018-09-30 2019-03-01 深圳市元征科技股份有限公司 一种商业合作模式推荐方法及相关设备
CN109615480A (zh) * 2018-12-14 2019-04-12 平安城市建设科技(深圳)有限公司 房屋信息推送方法、装置、设备及可读存储介质
CN110046300A (zh) * 2018-12-14 2019-07-23 阿里巴巴集团控股有限公司 内容推送方法及装置、电子设备
CN110046999A (zh) * 2019-02-28 2019-07-23 阿里巴巴集团控股有限公司 区块链交易方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598094B1 (en) * 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
CN108320228A (zh) * 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
CN108805656A (zh) * 2018-05-22 2018-11-13 北京京东尚科信息技术有限公司 供需匹配方法、平台、系统和计算机可读存储介质
CN109409693A (zh) * 2018-09-30 2019-03-01 深圳市元征科技股份有限公司 一种商业合作模式推荐方法及相关设备
CN109615480A (zh) * 2018-12-14 2019-04-12 平安城市建设科技(深圳)有限公司 房屋信息推送方法、装置、设备及可读存储介质
CN110046300A (zh) * 2018-12-14 2019-07-23 阿里巴巴集团控股有限公司 内容推送方法及装置、电子设备
CN110046999A (zh) * 2019-02-28 2019-07-23 阿里巴巴集团控股有限公司 区块链交易方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
区块链与价值互联网建设;周平;唐晓丹;;信息安全与通信保密(第08期);第55-61页 *

Also Published As

Publication number Publication date
CN110458541A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
US10929198B2 (en) Blockchain-based resource allocation method and apparatus
CN109584066B (zh) 基于区块链的隐私交易及其应用方法和装置
US20210158454A1 (en) Method and device for data processing based on blockchain
CN111159307B (zh) 跨链数据订阅方法及装置
CN111026789B (zh) 基于区块链的电子票据查询方法及装置、电子设备
CN110458631B (zh) 基于区块链的票据号码分配方法、装置及电子设备
CN110310203B (zh) 一种区块链交易方法和装置
CN110162470B (zh) 一种区块链的测试方法和装置
CN110298755B (zh) 一种区块链交易方法和装置
CN109614813B (zh) 基于区块链的隐私交易方法、装置及其应用方法、装置
CN112200571B (zh) 基于区块链的资源发放方法、装置及电子设备
US11423473B2 (en) Blockchain-based leasing
CN111738725B (zh) 跨境资源转移真实性审核方法、装置及电子设备
CN112101938B (zh) 基于区块链的数字印章使用方法、装置及电子设备
EP4102768A1 (en) Blockchain-based transaction methods
EP3971809B1 (en) Method and apparatus for starting smart contract, electronic device, and storage medium
CN111241557B (zh) 基于区块链的服务请求方法及装置
CN111402033A (zh) 基于区块链的资产信息管理方法和装置
CN112669147B (zh) 基于区块链的服务请求方法及装置
CN112200568B (zh) 基于区块链的账户创建方法、装置及电子设备
CN111985007A (zh) 一种基于区块链的合同签署与执行方法及装置
CN111340628A (zh) 基于区块链的资产信息管理方法和装置
CN111640002A (zh) 一种基于区块链的货押贷款方法和装置
CN110458541B (zh) 基于区块链的对象置换方法及装置
CN110458538B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40017477

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20200925

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

Applicant after: Innovative advanced technology Co.,Ltd.

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

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

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

Applicant after: Advanced innovation technology Co.,Ltd.

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

Applicant before: Alibaba Group Holding Ltd.

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

Effective date of registration: 20240222

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

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

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TR01 Transfer of patent right