CN111461878A - 一种基于链外智能合约的区块链交易处理方法和系统 - Google Patents
一种基于链外智能合约的区块链交易处理方法和系统 Download PDFInfo
- Publication number
- CN111461878A CN111461878A CN202010162602.2A CN202010162602A CN111461878A CN 111461878 A CN111461878 A CN 111461878A CN 202010162602 A CN202010162602 A CN 202010162602A CN 111461878 A CN111461878 A CN 111461878A
- Authority
- CN
- China
- Prior art keywords
- transaction
- intelligent contract
- chain
- server
- main
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 116
- 238000012545 processing Methods 0.000 claims abstract description 79
- 230000008569 process Effects 0.000 claims abstract description 63
- 239000003999 initiator Substances 0.000 claims abstract description 46
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 238000012546 transfer Methods 0.000 description 37
- 238000012795 verification Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 5
- 210000001503 joint Anatomy 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书一个或多个实施例公开了一种基于链外智能合约的区块链交易处理方法和系统,包括:交易发起方将第一交易发送至区块链网络后,由第一服务器监听到第一交易,且在判定第一交易携带的主链外智能合约的地址命中区块链网络中智能合约保存的主链外智能合约的地址时,第一服务器基于主链外智能合约对第一交易进行处理。这样,区块链网络作为传输媒介,由本地部署的智能合约中保存的主链外智能合约的地址,作为指针指向部署主链外智能合约的第一服务器进行处理操作,规避链上的智能合约对外接用户业务的限制,采用在链外部署合约的方式高效且友好的实现对各类不同交易业务的处理。同时,交易数据保存在区块链网络,保证交易数据的透明性和可靠性。
Description
技术领域
本文件涉及区块链技术领域,尤其涉及一种基于链外智能合约的区块链交易处理方法和系统。
背景技术
区块链,是利用分布式账本技术解决多方信任问题的去中心化创新性的解决方案,是当前社会的前沿技术。
区块链网络中部署的智能合约,是解决各类业务的关键。现有的智能合约通常需要在链上部署,开发、调试难度较大;且区块链存在不可篡改性,导致智能合约的升级更新复杂;另外,考虑到区块链网络的公开透明原则,不利于隐私数据的维护。因此,目前的智能合约不利于各类用户的直接对接使用。
然而,如何既能利用区块链网络的去中心化等优势解决当前各类用户的需求,又能尽量规避上述问题的限制,成为亟需解决的技术问题。
发明内容
本说明书一个或多个实施例的目的是提供一种基于链外智能合约的区块链交易处理方法和系统,既能利用区块链网络的去中心化等优势解决当前各类用户的需求,又能规避对用户对接的限制,使得现有的业务系统可以更好地和区块链进行交互。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
第一方面,提出了一种基于链外智能合约的区块链交易处理方法,包括:
交易发起方将构造的与资产类业务相关的第一交易,发送至区块链网络,其中,所述第一交易携带有交易内容以及用于直接处理所述第一交易的主链外智能合约的地址;
第一服务器基于预先在所述区块链网络部署的智能合约进行监听,其中,所述智能合约中至少包含部署在所述第一服务器上的主链外智能合约的地址;
如果监听到所述区块链网络接收到的第一交易携带的主链外智能合约的地址,命中所述智能合约中的主链外智能合约的地址,则所述第一服务器获取并解析所述第一交易携带的交易内容,并基于所述主链外智能合约按照交易内容处理所述第一交易。
可选地,所述主链外智能合约的合约内容包含交易执行规则,所述交易内容中至少包含交易类型;
所述第一服务器基于所述主链外智能合约按照交易内容处理所述第一交易,具体包括:
所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易。
可选地,所述智能合约中还包含部署在第二服务器上的辅链外智能合约的地址;
在所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,所述方法还包括:
所述第一服务器将基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述区块链网络,所述第二交易中携带有辅链外智能合约的地址;
第二服务器基于预先在所述区块链网络部署的智能合约进行监听,如果监听到所述第二交易携带的辅链外智能合约的地址命中本地部署的辅链外智能合约的地址,则获取并解析所述第二交易,并基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
可选地,所述主链外智能合约中包含部署在第二服务器上的辅链外智能合约的地址;
在所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,所述方法还包括:
所述第一服务器将基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述第二服务器;
所述第二服务器基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
可选地,在处理所述第一交易完成之后,所述方法还包括:
所述第一服务器将交易结果返回至区块链网络。
可选地,所述交易结果中携带有所述交易发起方的标识和/或交易接收方的标识;
在交易结果返回至区块链网络之后,所述方法还包括:
所述交易发起方和/或所述交易接收方根据监听到所述区块链网络中的所述交易结果,对自身的资产状态进行更新。
可选地,所述第一交易还携带有交易接收方的标识,所述交易执行规则为转账规则,所述辅助执行规则为身份验证规则;
所述基于所述主链外智能合约按照交易内容处理所述第一交易,具体包括:
所述第二服务器基于所述辅链外智能合约中的身份验证规则以及所述交易接收方的标识,对所述第一交易的交易接收方进行身份验证,并在验证合法后,将验证结果返回至区块链网络,其中,所述验证结果中携带有主链外智能合约的地址;
所述第一服务器在监听到本地部署的主链外智能合约的地址对应的验证结果为合法后,基于本地部署的主链外智能合约中的转账规则处理所述第一交易。
可选地,所述智能合约还包含:所述主链外智能合约的交易执行规则和/ 或所述辅链外智能合约的辅助执行规则;
当部署在第一服务器上的所述主链外智能合约发生变化时,所述方法还包括:
所述第一服务器通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的主链外智能合约的交易执行规则,其中,所述智能合约中包含的主链外智能合约的地址不变;
当部署在第二服务器上的所述辅链外智能合约发生变化时,所述方法还包括:
所述第二服务器通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述智能合约中包含的辅链外智能合约的地址不变;或者,
所述第二服务器通过向所述第一服务器发送交易的方式,更新所述主链外智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述主链外智能合约中包含的辅链外智能合约的地址不变。
可选地,在交易处理过程中,所述第一交易以及与所述第一交易相关的数据均通过DH密钥加密处理后进行传输。
第二方面,提出了一种基于链外智能合约的区块链交易处理系统,包括:交易发起方、区块链网络以及第一服务器;其中,
所述交易发起方,用于将构造的与资产类业务相关的第一交易,发送至区块链网络,其中,所述第一交易携带有交易内容以及用于直接处理所述第一交易的主链外智能合约的地址;
所述第一服务器,用于基于预先在所述区块链网络部署的智能合约进行监听,其中,所述智能合约中至少包含部署在所述第一服务器上的主链外智能合约的地址;以及,
如果监听到所述区块链网络接收到的第一交易携带的主链外智能合约的地址,命中所述智能合约中的主链外智能合约的地址,则所述第一服务器获取并解析所述第一交易携带的交易内容,并基于所述主链外智能合约按照交易内容处理所述第一交易。
可选地,所述主链外智能合约的合约内容包含交易执行规则,所述交易内容中至少包含交易类型;
所述第一服务器在基于所述主链外智能合约按照交易内容处理所述第一交易时,具体用于:
基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易。
可选地,所述系统还包括:第二服务器,所述智能合约中还包含部署在第二服务器上的辅链外智能合约的地址;
所述第一服务器在基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,还用于:基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述区块链网络,所述第二交易中携带有辅链外智能合约的地址;以及,
所述第二服务器,用于基于预先在所述区块链网络部署的智能合约进行监听,如果监听到所述第二交易携带的辅链外智能合约的地址命中本地部署的辅链外智能合约的地址,则获取并解析所述第二交易,并基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
可选地,所述系统还包括:第二服务器,所述主链外智能合约中包含部署在第二服务器上的辅链外智能合约的地址;
所述第一服务器在基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,还用于:基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述第二服务器;以及,
所述第二服务器,用于基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
可选地,所述第一服务器,还用于在处理所述第一交易完成之后,将交易结果返回至区块链网络。
可选地,所述交易结果中携带有所述交易发起方的标识和/或交易接收方的标识;所述系统还包括:交易接收方;
所述交易发起方和/或所述交易接收方,用于在交易结果返回至区块链网络之后,根据监听到所述区块链网络中的所述交易结果,对自身的资产状态进行更新。
可选地,所述第一交易还携带有交易接收方的标识,所述交易执行规则为转账规则,所述辅助执行规则为身份验证规则;
所述第二服务器,具体用于基于所述辅链外智能合约中的身份验证规则以及所述交易接收方的标识,对所述第一交易的交易接收方进行身份验证,并在验证合法后,将验证结果返回至区块链网络,其中,所述验证结果中携带有主链外智能合约的地址;以及
所述第一服务器,具体用于在监听到本地部署的主链外智能合约的地址对应的验证结果为合法后,基于本地部署的主链外智能合约中的转账规则处理所述第一交易。
可选地,所述智能合约还包含:所述主链外智能合约的交易执行规则和/ 或所述辅链外智能合约的辅助执行规则;
当部署在第一服务器上的所述主链外智能合约发生变化时,所述第一服务器,用于通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的主链外智能合约的交易执行规则,其中,所述智能合约中包含的主链外智能合约的地址不变;
当部署在第二服务器上的所述辅链外智能合约发生变化时,所述第二服务器,用于通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述智能合约中包含的辅链外智能合约的地址不变;或者,
所述第二服务器,用于通过向所述第一服务器发送交易的方式,更新所述主链外智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述主链外智能合约中包含的辅链外智能合约的地址不变。
可选地,所述第一服务器与所述第二服务器为同一个服务器。
由以上本说明书一个或多个实施例提供的技术方案可见,交易发起方将第一交易发送至区块链网络后,由部署有主链外智能合约的第一服务器监听到该第一交易,且在判定该第一交易携带的主链外智能合约的地址命中区块链网络中智能合约保存的主链外智能合约的地址时,第一服务器获取并解析第一交易,并基于主链外智能合约对第一交易进行处理。这样,在交易处理过程中,区块链网络不对第一交易进行处理,而是作为传输媒介,由本地部署的智能合约中保存的主链外智能合约的地址,作为指针指向部署主链外智能合约的第一服务器进行处理操作,这样,规避区块链网络的智能合约对外接用户业务的限制,采用在链外部署合约的方式高效且友好的实现对各类不同交易业务的处理。同时,区块链网络还可以对交易数据进行存储,保证交易数据的透明性和可靠性。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例所涉及的基于链外智能合约的区块链交易处理系统架构示意图。
图2a是本说明书实施例提供的一种基于链外智能合约的区块链交易处理方法的步骤示意图之一。
图2b是本说明书实施例提供的一种基于链外智能合约的区块链交易处理方法的步骤示意图之二。
图2c是本说明书实施例提供的一种基于链外智能合约的区块链交易处理方法的步骤示意图之三。
图3a是本说明书的一个实施例提供的合约架构示意图之一。
图3b是本说明书的一个实施例提供的合约架构示意图之二。
图4a是本说明书的一个实施例提供的合约更新的原理示意图之一。
图4b是本说明书的一个实施例提供的合约更新的原理示意图之二。
图4c是本说明书的一个实施例提供的合约更新的原理示意图之三。
图5a是本说明书的一个实施例提供的转让交易的流程示意图。
图5b是本说明书的一个实施例提供的兑换交易的流程示意图。
图6a是本说明书的一个实施例提供的基于链外智能合约的区块链交易处理系统的结构示意图之一。
图6b是本说明书的一个实施例提供的基于链外智能合约的区块链交易处理系统的结构示意图之二。
图7是本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的一个或多个实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
首先,参照图1所示,介绍本说明书实施例所涉及的系统架构。在本说明书实施例的基于链外智能合约的区块链交易处理系统中,可以包括:交易发起方102,交易接收方104,区块链网络106以及用于实质上处理交易的服务器 108。其中,交易发起方102和交易接收方104分别可以视为交易用户的客户端,或部署有客户端的终端设备。区块链网络106上部署有智能合约,所述智能合约可以是服务器108根据自身业务需求部署在所述区块链网络106。其中,所述智能合约并未规范有直接处理交易的操作内容,而是以链外智能合约的地址作为指针,指向部署有链外智能合约的服务器108进行交易操作。在整个交易处理过程中,区块链网络106作为“传输媒介”,将各类交易在交易发起方 102、交易接收方104以及服务器108之间进行传输,因为各类交易经历过区块链网络,所以,交易数据在区块链网络有存证,可以保证公开透明性。而交易的实际处理操作是基于链外智能合约实现的,从而,规避了链上智能合约的限制,可对多类交易业务开放,实现灵活且友好。需要说明的是,在本说明书实施例所涉及的交易接收方可以理解为交易资产的最终接受方。
需要说明的是,图1中所示的一个服务器108仅作为示例,在本说明书实施例中,与区块链网络106对接的可以是多个服务器108,每个服务器108可执行不同交易类型的交易。
实施例一
参照图2a所示,为本说明书实施例提供的一种基于链外智能合约的区块链交易处理方法的步骤示意图,应理解,该方法可应用于图1所示的交易处理系统中,所述交易处理方法可以包括以下步骤:
步骤202:交易发起方将构造的与资产类业务相关的第一交易,发送至区块链网络,其中,所述第一交易携带有交易内容以及用于直接处理所述第一交易的主链外智能合约的地址。
其中,所述交易发起方一侧的用户可以是个人或是企业、商户、机构等。而与资产类业务相关的第一交易可以理解为交易类型与资产业务相关的交易。所述第一交易可以但并不限于包括:转账、兑换等。
应理解,在所述第一交易中携带有交易内容,以及主链外智能合约的地址。其中,所述交易内容主要包括:表征交易类型的交易行为action,表征交易价值的交易数量amount;此外,还可以包括其它数据内容,例如,交易资产的属性描述等。在本说明书实施例中,所述第一交易可以是由交易发起方构造的,其构造交易的方式可以按照现有技术实现,在此不做赘述。举例说明,构造得到的第一交易可以包含:主链外智能合约地址id:01;action:transfer;amount:20;to:Bob。由于举例所示的第一交易中的交易行为为转账,因此,第一交易中还应包含接收转账资产的交易接收方。
交易发起方将第一交易发送至区块链网络进行上链保存,从而,第一交易中的相关交易数据在区块链网络上留有存证。
步骤204:第一服务器基于预先在所述区块链网络部署的智能合约进行监听,其中,所述智能合约中至少包含部署在所述第一服务器上的主链外智能合约的地址。
虽然第一交易发送至区块链网络,但是,第一交易中携带的执行该交易的合约地址并不是区块链网络上部署的智能合约的地址,这样,不会基于链上智能合约对所述第一交易进行处理。
所述第一服务器事先在所述区块链网络部署有智能合约,所述智能合约中保存有部署在第一服务器上的主链外智能合约的地址。
所述第一服务器对区块链网络上的状态进行周期性监听,以便及时获知与第一服务器自身相关的数据信息。
步骤206:如果监听到所述区块链网络接收到的第一交易携带的主链外智能合约的地址,命中所述智能合约中的主链外智能合约的地址,则所述第一服务器获取并解析所述第一交易携带的交易内容,并基于所述主链外智能合约按照交易内容处理所述第一交易。
一旦所述第一服务器监听到区块链网络接收到第一交易,且判定第一交易携带的主链外智能合约的地址命中所述智能合约中的主链外智能合约的地址,则说明该第一交易需要基于第一服务器在链外进行交易,且依赖于主链外智能合约执行。进而,所述第一服务器从区块链网络获取第一交易,并解析其携带的交易内容,然后,基于该主链外智能合约和交易内容处理第一交易。
通过上述技术方案,交易发起方将第一交易发送至区块链网络后,由部署有主链外智能合约的第一服务器监听到该第一交易,且在判定该第一交易携带的主链外智能合约的地址命中区块链网络中智能合约保存的主链外智能合约的地址时,第一服务器获取并解析第一交易,并基于主链外智能合约对第一交易进行处理。这样,在交易处理过程中,区块链网络不对第一交易进行处理,而是作为传输媒介,由本地部署的智能合约中保存的主链外智能合约的地址,作为指针指向部署主链外智能合约的第一服务器进行处理操作,这样,规避区块链网络的智能合约对外接用户业务的限制,采用在链外部署合约的方式高效且友好的实现对各类不同交易业务的处理。同时,区块链网络还可以对交易数据进行存储,保证交易数据的透明性和可靠性。从而,既能利用区块链网络的去中心化等优势解决当前各类需求,又能规避对用户对接的限制,使得现有的业务系统可以更好地和区块链进行交互。
应理解,在本说明书实施例中,部署在第一服务器上的所述主链外智能合约的合约内容包含交易执行规则,此外,还可以包括具体的执行操作,也就是用以按照交易执行规则处理交易的执行代码。其中,所述交易执行规则包含具体的交易条款,例如,主要涉及:交易资产如何转让,在何种条件下转让有效,转让资产之前是否需要进行身份验证等。相应地,在所述第一服务器基于所述主链外智能合约按照交易内容处理所述第一交易时,可具体执行为:所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易。以转让交易为例,第一服务器基于主链外智能合约中的转让规则,将交易发起方的交易资产转让给交易接收方。
其实,在实际的交易处理过程中,可能不止涉及对交易的直接处理,换言之,在处理交易之前或之后,可能还需要进行一些辅助处理,这些辅助处理也可以基于部署在链外的智能合约实现。
本说明书实施例主要以在处理交易之前的辅助处理为例进行说明,对于发生在处理交易之后的辅助处理的实现类似,在此不做赘述。
一种可实现的方案,智能合约中除了包含主链外智能合约的地址外,还包含部署在第二服务器上的辅链外智能合约的地址;参照图3a所示,假设主链外智能合约的地址为01,辅链外智能合约的地址为02,那么,智能合约中同时包含01和02。当智能合约中同时保存多个链外智能合约的地址时,可以采用列表形式存储。
相应地,在所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,所述方法还包括:
所述第一服务器将基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述区块链网络,所述第二交易中携带有辅链外智能合约的地址;
第二服务器基于预先在所述区块链网络部署的智能合约进行监听,如果监听到所述第二交易携带的辅链外智能合约的地址命中本地部署的辅链外智能合约的地址,则获取并解析所述第二交易,并基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
另一种可实现的方案,所述主链外智能合约中包含部署在第二服务器上的辅链外智能合约的地址;参照图3b所示,假设主链外智能合约的地址为01,辅链外智能合约的地址为02,那么,智能合约中包含01,主链外智能合约中包含02。
相应地,在所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,所述方法还包括:
所述第一服务器将基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述第二服务器;
所述第二服务器基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
其中,所述与资产类业务不相关的第二交易可以包括但并不限于为:与身份验证,交易结果验证等相关的交易。
本说明书实施例中,参照图2b所示,在处理所述第一交易完成之后,所述方法还包括:
步骤208:所述第一服务器将交易结果返回至区块链网络。
从而,可以将交易结果保存在区块链网络,以便存证。
进一步,所述交易结果中携带有所述交易发起方的标识和/或交易接收方的标识;
参照图2c所示,在步骤208之后,所述方法还包括:
步骤210:所述交易发起方和/或所述交易接收方根据监听到所述区块链网络中的所述交易结果,对自身的资产状态进行更新。
其实,在本说明书实施例中,第一服务器可以基于交易结果构造一个交易,该交易中包含有可以描述整个交易结果的内容,例如,Alice-action:settlement, balance:200;Bob-action:receive,amount:800,from:Alice。这样,交易发起方和交易接收方均可以基于同一个交易监听到交易结果,并对自身的资产状态进行更新。此外,也可以由第一服务器分别为交易发起方和交易接收方构造交易发送至区块链网络;或者,可以由第一服务器分别为交易发起方和交易接收方构造交易,其中,为交易发起方构造的交易可以发送至区块链网络,而为交易接收方构造的交易可以直接发送至交易接收方。具体可以基于交易数据存证的需求进行设定,本说明书实施例并不对此进行限定。
应理解,无论是基于图3a所示的合约架构还是基于图3b所示的合约架构进行交易处理,在本说明书实施例中,如果所述第一交易还携带有交易接收方的标识,所述交易执行规则为转账规则,所述辅助执行规则为身份验证规则;则相应地,所述基于所述主链外智能合约按照交易内容处理所述第一交易,具体可以执行为:
-身份验证:所述第二服务器基于所述辅链外智能合约中的身份验证规则以及所述交易接收方的标识,对所述第一交易的交易接收方进行身份验证,并在验证合法后,将验证结果返回至区块链网络,其中,所述验证结果中携带有主链外智能合约的地址。
-转账:所述第一服务器在监听到本地部署的主链外智能合约的地址对应的验证结果为合法后,基于本地部署的主链外智能合约中的转账规则处理所述第一交易。
一种可实现的方案,所述智能合约还包含:所述主链外智能合约的交易执行规则和/或所述辅链外智能合约的辅助执行规则,这样,区块链网络除了可以保存交易数据外,还可以在链外智能合约未按照执行规则处理交易时,基于事先在智能合约中保存的链外智能合约的执行规则,作为事实依据,为交易双方提供证据,以争取合法权益。
当部署在第一服务器上的所述主链外智能合约发生变化时,所述方法还包括:所述第一服务器通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的主链外智能合约的交易执行规则,其中,所述智能合约中包含的主链外智能合约的地址不变。
举例说明,参照图4a所示,智能合约中主链外智能合约的交易执行规则由A更新为a。
当部署在第二服务器上的所述辅链外智能合约发生变化时,所述方法还包括:所述第二服务器通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述智能合约中包含的辅链外智能合约的地址不变;或者,
所述第二服务器通过向所述第一服务器发送交易的方式,更新所述主链外智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述主链外智能合约中包含的辅链外智能合约的地址不变。
参照图4b所示,智能合约中辅链外智能合约的辅助执行规则由B更新为 b。或者,参照图4c所示,主链外智能合约中辅链外智能合约的辅助执行规则由B更新为b。
此外,在对主链外智能合约以及辅链外智能合约进行更新时,除了在原有部署位置重新修改之外,还可以增加或替换为以新地址部署的链外智能合约,此时,智能合约或主链外智能合约中保存的地址可能会发生变化。
由此,通过在链外部署智能合约的方式,可以便于对处理交易的链外智能合约进行升级维护,其实现更为高效友好。
考虑到交易发起方、交易接收方以及交易监管方可能存在隐私需求,因此,可以在交易处理过程中,所述第一交易以及与所述第一交易相关的数据均通过 DH密钥加密处理后进行传输。这样,参与DH密钥交换的任一方可以解密数据。从而,使用简单的DH密钥交换即可实现隐私功能,实现简单且高效,并且监管友好。
下面通过具体的实例对本说明书实施例进行说明。
实例1:积分转让
航空公司根据用户Alice的航空里程发送1000积分,Alice可以选择将积分转让给其他人,例如另一个用户Bob。在本次积分转让交易中,所涉及到的主体包括:Alice(其实质是Alice所使用终端设备)、区块链网络、航空公司 (默认是航空公司的用于处理积分转让业务的服务器)、Bob(其实质是Bob 所使用终端设备)、第三方认证机构(其实质也是服务器)。
航空公司部署链上智能合约,该链上智能合约中保存了主链外智能合约的地址和交易执行规则,其中,交易执行规则可以包括积分使用的详细条款,链外合约版本等信息,使用伪代码可以表示如下:
contract Token address owner;#链外智能合约的地址string clause;#详细条款int version;#版本end。
同时,所述链上智能合约中还保存了辅链外智能合约的地址和辅助执行规则,其具体信息类型以及形式与主链外智能合约类似,在此不作示例。
其中,主链外智能合约部署在航空公司侧(其可以部署在航空公司的服务器上),用于控制交易处理;辅链外智能合约部署在第三方认证机构侧,用于对交易方进行身份验证。
在智能合约部署完成之后,上述各主体都可以通过区块链监听到该合约。
当前Alice已经通过她的航空里程获得了1000积分,并期望将其中的800 积分转让给好友Bob。假设链上智能合约中记录的主链外智能合约的地址为01,辅链外智能合约的地址为02。
参照图5a所示,该交易处理可以包括以下流程;
步骤502a:Alice侧构造并发送转让交易给区块链网络。
其中,该转让交易中携带有处理该转让交易的主链外智能合约的地址01,以及交易执行规则;Action:transfer,amount:800,to:Bob。
步骤504a:部署有主链外智能合约的航空公司侧监听到转让交易且携带有地址01。
步骤506a:航空公司侧获取并解析转让交易的内容。
步骤508a:航空公司侧构造并发送验证交易给区块链网络。
一般情况下,交易内容可以反映后续是否要在转让处理之前进行辅助处理。在本实例1中,就需要对资产接收方进行身份验证。该验证交易中携带有处理该验证交易的辅链外智能合约的地址02,以及验证执行规则;Acition: verification,user:Bob。
步骤510a:第三方认证机构侧在监听到验证交易及携带的地址02后,获取并解析验证交易的内容。
步骤512a:第三方认证机构侧对Bob的身份进行验证。
具体验证操作可以在第三方认证机构本地进行,也可以由第三方认证机构指定相应链接地址处进行身份验证。在此所涉及的身份验证的具体操作可以是对Bob的有效证件进行验证,或是对Bob使用积分的权限进行验证等,本说明书并不对此进行限定。
步骤514a:第三方认证机构侧将验证结果发送至区块链网络。
应理解,在返回验证结果时,第三方认证机构侧可以基于验证结果构造验证结果交易发送至区块链网络。该验证结果交易中携带有主链外智能合约的地址01,以及内容为Action:confirm。
步骤516a:航空公司侧在监听到验证结果交易及携带的地址01后,基于本地部署的主链外智能合约执行积分转让操作。
步骤518a:航空公司侧将转让结果发送至区块链网络。
具体实现时,可以基于转让结果构造转让结果交易,并发送至区块链网络进行存储。其中,转让结果交易中可以携带有两组信息,第一组信息的接收方为Alice,内容为action:settlement,balance:200;第二组信息的接收方为 Bob,内容为action:receive,amount:800,from:Alice。
步骤520a:Alice侧和Bob侧监听到转让结果后,更新各自的积分状态。
此时,Alice可以根据监听到的转让结果,将自己的积分更新为200;同时, Bob根据监听到的转让结果,将自己的积分更新为800(默认Bob之前积分为 0)。
从而,Alice侧、Bob侧以及航空公司侧均以区块链网络作为交易消息传输媒介,这些交易主体之间通过发送交易以及监听区块链网络上交易数据的方式进行交互,将交易处理转移至链外智能合约进行控制,避免链上智能合约的限制,可以更为友好且灵活的对接多种交易业务。
实例2:积分兑换
航空公司根据用户Alice的航空里程发送1000积分,Alice可以选择将积分兑换成电影票,例如通过电影院商家的活动来实现。在本次积分兑换交易中,所涉及到的主体包括:Alice(其实质是Alice所使用终端设备)、区块链网络、航空公司(其实质是航空公司用于处理积分兑换业务的服务器)以及电影院(电影院侧服务器)。
航空公司侧部署链上智能合约,该链上智能合约中保存了主链外智能合约的地址和交易执行规则,其中,交易执行规则可以包括积分兑换的详细条款,链外合约版本等信息,使用伪代码可以表示如下:
contract Token address owner;#链外智能合约的地址string clause; #详细条款int version;#版本end。
假设积分兑换时不需要进行身份验证,因此,可以不涉及辅链外智能合约的部分。
其中,主链外智能合约部署在航空公司侧,用于控制交易处理,具体实现积分兑换电影票的操作。
在智能合约部署完成之后,上述各主体都可以通过区块链监听到该合约,其实,向Alice发放积分的航空公司也可以监听到区块链网络上智能合约以及交易数据。
当前Alice已经通过她的航空里程获得了1000积分,并期望将其中的800 积分兑换一张电影票。假设链上智能合约中记录的主链外智能合约的地址为01。
参照图5b所示,该交易处理可以包括以下流程;
步骤502b:Alice侧构造并发送兑换交易给区块链网络。
其中,该兑换交易中携带有处理该兑换交易的主链外智能合约的地址01,以及交易执行规则;Action:exchange,amount:800,to:Bob。
步骤504b:部署有主链外智能合约的航空公司侧监听到兑换交易且携带有地址01。
步骤506b:航空公司侧获取并解析转让交易的内容,基于本地部署的主链外智能合约执行积分兑换操作。
步骤508b:航空公司侧将兑换结果发送至区块链网络。
具体实现时,可以基于兑换结果构造兑换结果交易,并发送至区块链网络进行存储。其中,兑换结果交易中可以携带有两组信息,第一组信息的接收方为Alice,内容为action:settlement,balance:200以及movie ticket;第二组信息的接收方为电影院侧,内容为action:receive,amount:800,from:Alice。
步骤510b:Alice侧和电影院侧监听到兑换结果后,更新各自的资产状态。
此时,Alice可以根据监听到的兑换结果,将自己的积分更新为200,同时获得一张电影票;电影院根据监听到的兑换结果,获得800积分,同时,输出一张电影票。
由上述实例1和实例2可知,在部署链外智能合约,其开发、升级、维护较为便捷且简单,对于对接业务的企业友好且高效;而且考虑到链外智能合约的合约代码和合约数据都在链外,具有一定的隐私性;同时还可以保留区块链网络的公开透明的特性,对交易业务数据进行保存以在后续提供存证。此外,还可以使用加密算法对交易数据进行加密,以确保隐私安全,且监管友好。
实施例二
参照图6a所示,为本说明书实施例提供的基于链外智能合约的区块链交易处理系统600,该系统600可以包括:交易发起方602、区块链网络604以及第一服务器606;其中,
所述交易发起方602,用于将构造的与资产类业务相关的第一交易,发送至区块链网络604,其中,所述第一交易携带有交易内容以及用于直接处理所述第一交易的主链外智能合约的地址;
所述第一服务器606,用于基于预先在所述区块链网络604部署的智能合约进行监听,其中,所述智能合约中至少包含部署在所述第一服务器606上的主链外智能合约的地址;以及,
如果监听到所述区块链网络604接收到的第一交易携带的主链外智能合约的地址,命中所述智能合约中的主链外智能合约的地址,则所述第一服务器606 获取并解析所述第一交易携带的交易内容,并基于所述主链外智能合约按照交易内容处理所述第一交易。
应理解,在一个完整的交易过程中,还隐含有接收交易资产的交易接收方,图6a中并未示出。
可选地,作为一个实施例,所述主链外智能合约的合约内容包含交易执行规则,所述交易内容中至少包含交易类型;
所述第一服务器606在基于所述主链外智能合约按照交易内容处理所述第一交易时,具体用于:
基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易。
在本说明书实施例的一种具体实现方式中,参照图6b所示,所述系统还包括:第二服务器608,其中,所述智能合约中还包含部署在第二服务器608 上的辅链外智能合约的地址;
所述第一服务器606在基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,还用于:基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述区块链网络604,所述第二交易中携带有辅链外智能合约的地址;以及,
所述第二服务器608,用于基于预先在所述区块链网络604部署的智能合约进行监听,如果监听到所述第二交易携带的辅链外智能合约的地址命中本地部署的辅链外智能合约的地址,则获取并解析所述第二交易,并基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
在本说明书实施例的另一种具体实现方式中,所述系统还包括:第二服务器608,所述主链外智能合约中包含部署在第二服务器608上的辅链外智能合约的地址;
所述第一服务器606在基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,还用于:基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述第二服务器608;以及,
所述第二服务器608,用于基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
在本说明书实施例的另一种具体实现方式中,所述第一服务器606,还用于在处理所述第一交易完成之后,将交易结果返回至区块链网络。
在本说明书实施例的另一种具体实现方式中,所述交易结果中携带有所述交易发起方的标识和/或交易接收方的标识;所述系统还包括:交易接收方;
所述交易发起方和/或所述交易接收方,用于在交易结果返回至区块链网络 604之后,根据监听到所述区块链网络604中的所述交易结果,对自身的资产状态进行更新。
在本说明书实施例的另一种具体实现方式中,所述第一交易还携带有交易接收方的标识,所述交易执行规则为转账规则,所述辅助执行规则为身份验证规则;
所述第二服务器608,具体用于基于所述辅链外智能合约中的身份验证规则以及所述交易接收方的标识,对所述第一交易的交易接收方进行身份验证,并在验证合法后,将验证结果返回至区块链网络604,其中,所述验证结果中携带有主链外智能合约的地址;以及
所述第一服务器606,具体用于在监听到本地部署的主链外智能合约的地址对应的验证结果为合法后,基于本地部署的主链外智能合约中的转账规则处理所述第一交易。
在本说明书实施例的另一种具体实现方式中,所述智能合约还包含:所述主链外智能合约的交易执行规则和/或所述辅链外智能合约的辅助执行规则;
当部署在第一服务器上的所述主链外智能合约发生变化时,所述第一服务器606,用于通过向所述区块链网络604发送交易的方式,更新所述智能合约中记录的主链外智能合约的交易执行规则,其中,所述智能合约中包含的主链外智能合约的地址不变;
当部署在第二服务器上的所述辅链外智能合约发生变化时,所述第二服务器608,用于通过向所述区块链网络604发送交易的方式,更新所述智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述智能合约中包含的辅链外智能合约的地址不变;或者,
所述第二服务器608,用于通过向所述第一服务器606发送交易的方式,更新所述主链外智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述主链外智能合约中包含的辅链外智能合约的地址不变。
此外,在对主链外智能合约以及辅链外智能合约进行更新时,除了在原有部署位置重新修改之外,还可以增加或替换为以新地址部署的链外智能合约,此时,智能合约或主链外智能合约中保存的地址可能会发生变化。
由此,通过在链外部署智能合约的方式,可以便于对处理交易的链外智能合约进行升级维护,其实现更为高效友好。
在本说明书实施例的另一种具体实现方式中,所述第一服务器606与所述第二服务器608为同一个服务器。换言之,所述第一服务器606执行的操作以及所述第二服务器608执行的操作均由一个服务器来实现,这样,上述所涉及的主链外智能合约和辅链外智能合约均部署在一个服务器上。
通过上述技术方案,交易发起方将第一交易发送至区块链网络后,由部署有主链外智能合约的第一服务器监听到该第一交易,且在判定该第一交易携带的主链外智能合约的地址命中区块链网络中智能合约保存的主链外智能合约的地址时,第一服务器获取并解析第一交易,并基于主链外智能合约对第一交易进行处理。这样,在交易处理过程中,区块链网络不对第一交易进行处理,而是作为传输媒介,由本地部署的智能合约中保存的主链外智能合约的地址,作为指针指向部署主链外智能合约的第一服务器进行处理操作,这样,规避区块链网络的智能合约对外接用户业务的限制,采用在链外部署合约的方式高效且友好的实现对各类不同交易业务的处理。同时,区块链网络还可以对交易数据进行存储,保证交易数据的透明性和可靠性。从而,既能利用区块链网络的去中心化等优势解决当前各类需求,又能规避对用户对接的限制,使得现有的业务系统可以更好地和区块链进行交互。
实施例三
图7是本说明书的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory, RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链共识装置。处理器,执行存储器所存放的程序,并具体用于执行本说明书实施例中各执行主体所对应的方法步骤。
上述如本说明书图2a和图2c所示实施例揭示的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor, NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2a和图2c的方法,并实现相应装置在图2a和图 2c所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
通过上述技术方案,交易发起方将第一交易发送至区块链网络后,由部署有主链外智能合约的第一服务器监听到该第一交易,且在判定该第一交易携带的主链外智能合约的地址命中区块链网络中智能合约保存的主链外智能合约的地址时,第一服务器获取并解析第一交易,并基于主链外智能合约对第一交易进行处理。这样,在交易处理过程中,区块链网络不对第一交易进行处理,而是作为传输媒介,由本地部署的智能合约中保存的主链外智能合约的地址,作为指针指向部署主链外智能合约的第一服务器进行处理操作,这样,规避区块链网络的智能合约对外接用户业务的限制,采用在链外部署合约的方式高效且友好的实现对各类不同交易业务的处理。同时,区块链网络还可以对交易数据进行存储,保证交易数据的透明性和可靠性。从而,既能利用区块链网络的去中心化等优势解决当前各类需求,又能规避对用户对接的限制,使得现有的业务系统可以更好地和区块链进行交互。
实施例四
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2a和图2c 所示实施例的方法。
通过上述技术方案,交易发起方将第一交易发送至区块链网络后,由部署有主链外智能合约的第一服务器监听到该第一交易,且在判定该第一交易携带的主链外智能合约的地址命中区块链网络中智能合约保存的主链外智能合约的地址时,第一服务器获取并解析第一交易,并基于主链外智能合约对第一交易进行处理。这样,在交易处理过程中,区块链网络不对第一交易进行处理,而是作为传输媒介,由本地部署的智能合约中保存的主链外智能合约的地址,作为指针指向部署主链外智能合约的第一服务器进行处理操作,这样,规避区块链网络的智能合约对外接用户业务的限制,采用在链外部署合约的方式高效且友好的实现对各类不同交易业务的处理。同时,区块链网络还可以对交易数据进行存储,保证交易数据的透明性和可靠性。从而,既能利用区块链网络的去中心化等优势解决当前各类需求,又能规避对用户对接的限制,使得现有的业务系统可以更好地和区块链进行交互。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述一个或多个实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (14)
1.一种基于链外智能合约的区块链交易处理方法,包括:
交易发起方将构造的与资产类业务相关的第一交易,发送至区块链网络,其中,所述第一交易携带有交易内容以及用于直接处理所述第一交易的主链外智能合约的地址;
第一服务器基于预先在所述区块链网络部署的智能合约进行监听,其中,所述智能合约中至少包含部署在所述第一服务器上的主链外智能合约的地址;
如果监听到所述区块链网络接收到的第一交易携带的主链外智能合约的地址,命中所述智能合约中的主链外智能合约的地址,则所述第一服务器获取并解析所述第一交易携带的交易内容,并基于所述主链外智能合约按照交易内容处理所述第一交易。
2.如权利要求1所述的方法,所述主链外智能合约的合约内容包含交易执行规则,所述交易内容中至少包含交易类型;
所述第一服务器基于所述主链外智能合约按照交易内容处理所述第一交易,具体包括:
所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易。
3.如权利要求2所述的方法,所述智能合约中还包含部署在第二服务器上的辅链外智能合约的地址;
在所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,所述方法还包括:
所述第一服务器将基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述区块链网络,所述第二交易中携带有辅链外智能合约的地址;
第二服务器基于预先在所述区块链网络部署的智能合约进行监听,如果监听到所述第二交易携带的辅链外智能合约的地址命中本地部署的辅链外智能合约的地址,则获取并解析所述第二交易,并基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
4.如权利要求2所述的方法,所述主链外智能合约中包含部署在第二服务器上的辅链外智能合约的地址;
在所述第一服务器基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,所述方法还包括:
所述第一服务器将基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述第二服务器;
所述第二服务器基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
5.如权利要求3或4所述的方法,在处理所述第一交易完成之后,所述方法还包括:
所述第一服务器将交易结果返回至区块链网络。
6.如权利要求5所述的方法,所述交易结果中携带有所述交易发起方的标识和/或交易接收方的标识;
在交易结果返回至区块链网络之后,所述方法还包括:
所述交易发起方和/或所述交易接收方根据监听到所述区块链网络中的所述交易结果,对自身的资产状态进行更新。
7.如权利要求1-4任一项所述的方法,所述智能合约还包含:所述主链外智能合约的交易执行规则和/或所述辅链外智能合约的辅助执行规则;
当部署在第一服务器上的所述主链外智能合约发生变化时,所述方法还包括:
所述第一服务器通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的主链外智能合约的交易执行规则,其中,所述智能合约中包含的主链外智能合约的地址不变;
当部署在第二服务器上的所述辅链外智能合约发生变化时,所述方法还包括:
所述第二服务器通过向所述区块链网络发送交易的方式,更新所述智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述智能合约中包含的辅链外智能合约的地址不变;或者,
所述第二服务器通过向所述第一服务器发送交易的方式,更新所述主链外智能合约中记录的辅链外智能合约的辅助执行规则,其中,所述主链外智能合约中包含的辅链外智能合约的地址不变。
8.如权利要求1-4任一项所述的方法,在交易处理过程中,所述第一交易以及与所述第一交易相关的数据均通过DH密钥加密处理后进行传输。
9.一种基于链外智能合约的区块链交易处理系统,包括:交易发起方、区块链网络以及第一服务器;其中,
所述交易发起方,用于将构造的与资产类业务相关的第一交易,发送至区块链网络,其中,所述第一交易携带有交易内容以及用于直接处理所述第一交易的主链外智能合约的地址;
所述第一服务器,用于基于预先在所述区块链网络部署的智能合约进行监听,其中,所述智能合约中至少包含部署在所述第一服务器上的主链外智能合约的地址;以及,
如果监听到所述区块链网络接收到的第一交易携带的主链外智能合约的地址,命中所述智能合约中的主链外智能合约的地址,则所述第一服务器获取并解析所述第一交易携带的交易内容,并基于所述主链外智能合约按照交易内容处理所述第一交易。
10.如权利要求9所述的系统,所述主链外智能合约的合约内容包含交易执行规则,所述交易内容中至少包含交易类型;
所述第一服务器在基于所述主链外智能合约按照交易内容处理所述第一交易时,具体用于:
基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易。
11.如权利要求10所述的系统,所述系统还包括:第二服务器,所述智能合约中还包含部署在第二服务器上的辅链外智能合约的地址;
所述第一服务器在基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,还用于:基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述区块链网络,所述第二交易中携带有辅链外智能合约的地址;以及,
所述第二服务器,用于基于预先在所述区块链网络部署的智能合约进行监听,如果监听到所述第二交易携带的辅链外智能合约的地址命中本地部署的辅链外智能合约的地址,则获取并解析所述第二交易,并基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
12.如权利要求10所述的系统,所述系统还包括:第二服务器,所述主链外智能合约中包含部署在第二服务器上的辅链外智能合约的地址;
所述第一服务器在基于所述主链外智能合约中的交易执行规则,按照所述交易类型处理所述第一交易之前,还用于:基于所述第一交易构造的与资产类业务不相关的第二交易发送给所述第二服务器;以及,
所述第二服务器,用于基于所述辅链外智能合约的合约内容中包含的辅助执行规则,对所述第二交易进行处理。
13.如权利要求11或12所述的系统,所述第一服务器,还用于在处理所述第一交易完成之后,将交易结果返回至区块链网络。
14.如权利要求13所述的系统,所述交易结果中携带有所述交易发起方的标识和/或交易接收方的标识;所述系统还包括:交易接收方;
所述交易发起方和/或所述交易接收方,用于在交易结果返回至区块链网络之后,根据监听到所述区块链网络中的所述交易结果,对自身的资产状态进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162602.2A CN111461878A (zh) | 2020-03-10 | 2020-03-10 | 一种基于链外智能合约的区块链交易处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162602.2A CN111461878A (zh) | 2020-03-10 | 2020-03-10 | 一种基于链外智能合约的区块链交易处理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111461878A true CN111461878A (zh) | 2020-07-28 |
Family
ID=71684251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010162602.2A Pending CN111461878A (zh) | 2020-03-10 | 2020-03-10 | 一种基于链外智能合约的区块链交易处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461878A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553515A (zh) * | 2022-02-17 | 2022-05-27 | 支付宝(杭州)信息技术有限公司 | 基于区块链的nft资产的检验方法、业务处理方法及硬件 |
EP4300398A4 (en) * | 2021-08-12 | 2024-05-01 | Tencent Technology (Shenzhen) Company Limited | METHOD AND DEVICE FOR INTELLIGENT CONTRACT-BASED DATA PROCESSING, ELECTRONIC DEVICE, COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM PRODUCT |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107945021A (zh) * | 2017-12-07 | 2018-04-20 | 杭州趣链科技有限公司 | 一种基于区块链智能合约的数字资产管理方法 |
CN108399571A (zh) * | 2018-01-30 | 2018-08-14 | 厦门快商通信息技术有限公司 | 基于区块链智能合约的无担保交易方法及系统 |
CN108647966A (zh) * | 2018-05-09 | 2018-10-12 | 深圳市融讯科技有限公司 | 一种基于区块链的数据交互方法及装置 |
CN109284197A (zh) * | 2018-10-25 | 2019-01-29 | 中思博安科技(北京)有限公司 | 基于智能合约的分布式应用平台及实现方法 |
CN109544157A (zh) * | 2018-10-25 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 交易处理方法、装置和系统 |
CN109727131A (zh) * | 2018-12-28 | 2019-05-07 | 苏州鸿链信息科技有限公司 | 一种基于区块链合约层的链下执行交易方法及系统 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
US20190317936A1 (en) * | 2018-11-09 | 2019-10-17 | Innoplexus Ag | System and method for interoperability of blockchains |
-
2020
- 2020-03-10 CN CN202010162602.2A patent/CN111461878A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107945021A (zh) * | 2017-12-07 | 2018-04-20 | 杭州趣链科技有限公司 | 一种基于区块链智能合约的数字资产管理方法 |
CN108399571A (zh) * | 2018-01-30 | 2018-08-14 | 厦门快商通信息技术有限公司 | 基于区块链智能合约的无担保交易方法及系统 |
CN108647966A (zh) * | 2018-05-09 | 2018-10-12 | 深圳市融讯科技有限公司 | 一种基于区块链的数据交互方法及装置 |
CN109284197A (zh) * | 2018-10-25 | 2019-01-29 | 中思博安科技(北京)有限公司 | 基于智能合约的分布式应用平台及实现方法 |
CN109544157A (zh) * | 2018-10-25 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 交易处理方法、装置和系统 |
US20190317936A1 (en) * | 2018-11-09 | 2019-10-17 | Innoplexus Ag | System and method for interoperability of blockchains |
CN109727131A (zh) * | 2018-12-28 | 2019-05-07 | 苏州鸿链信息科技有限公司 | 一种基于区块链合约层的链下执行交易方法及系统 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
Non-Patent Citations (2)
Title |
---|
潘晨等: "区块链可扩展性研究:问题与方法", 《计算机研究与发展》 * |
王蓓蓓等: "基于区块链的分布式能源交易关键技术", 《电力系统自动化》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4300398A4 (en) * | 2021-08-12 | 2024-05-01 | Tencent Technology (Shenzhen) Company Limited | METHOD AND DEVICE FOR INTELLIGENT CONTRACT-BASED DATA PROCESSING, ELECTRONIC DEVICE, COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM PRODUCT |
CN114553515A (zh) * | 2022-02-17 | 2022-05-27 | 支付宝(杭州)信息技术有限公司 | 基于区块链的nft资产的检验方法、业务处理方法及硬件 |
CN114553515B (zh) * | 2022-02-17 | 2024-05-17 | 支付宝(杭州)信息技术有限公司 | 基于区块链的nft资产的检验方法、业务处理方法及硬件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3507938B1 (en) | Biometric identification and verification among iot devices and applications | |
CN111639932B (zh) | 一种基于区块链的离线资源转移方法及装置 | |
US10643208B2 (en) | Digital payment system | |
TWI717927B (zh) | 具有運算池之混合區塊鏈架構 | |
CN109146679A (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
Wright et al. | SmartEdge: A smart contract for edge computing | |
CN113037817B (zh) | 启动智能合约的方法及装置、电子设备、存储介质 | |
Yadav | Blockchain security | |
CN111770112B (zh) | 一种信息共享方法、装置及设备 | |
CN112822267B (zh) | 基于区块链的数据处理方法和装置 | |
CN113422733B (zh) | 区块链的业务处理方法、装置、计算机设备及存储介质 | |
CN111784347B (zh) | 一种资源转移方法及装置 | |
CN111683082A (zh) | 一种基于区块链的数据共享方法、系统及电子设备 | |
CN113704775A (zh) | 一种基于分布式数字身份的业务处理方法及相关装置 | |
Abubaker et al. | Trustful data trading through monetizing IoT data using BlockChain based review system | |
CN111461878A (zh) | 一种基于链外智能合约的区块链交易处理方法和系统 | |
CN109544131A (zh) | 一种游戏商品管理方法及装置 | |
CN114463110A (zh) | 一种基于区块链的授信系统和方法 | |
CN112308700A (zh) | 企业征信数据的处理方法、装置、计算机设备和存储介质 | |
CN111222885A (zh) | 数据处理请求背书方法、装置、计算机设备及存储介质 | |
CN111371785A (zh) | 一种区块链隐私交易方法、装置和电子设备 | |
Mustafa et al. | Decentralized oracle networks (DONs) provision for DAML smart contracts | |
CN113987598A (zh) | 区块的迁移方法和装置 | |
CN112835976A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200728 |
|
RJ01 | Rejection of invention patent application after publication |