CN113971561A - 一种智能合约处理方法、支付端、接收端、服务端及系统 - Google Patents
一种智能合约处理方法、支付端、接收端、服务端及系统 Download PDFInfo
- Publication number
- CN113971561A CN113971561A CN202111331184.6A CN202111331184A CN113971561A CN 113971561 A CN113971561 A CN 113971561A CN 202111331184 A CN202111331184 A CN 202111331184A CN 113971561 A CN113971561 A CN 113971561A
- Authority
- CN
- China
- Prior art keywords
- contract
- identification information
- receiving end
- payment
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Abstract
本发明公开了一种智能合约处理方法、支付端、接收端、服务端及系统。所述方法包括:支付端将生成的交易凭证传递给接收端,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产;所述接收端验证所述交易凭证是否合法,包括验证所述合约识别信息是否属于所述接收端预先设定的合约识别信息;所述接收端将所述交易凭证发送给服务端;所述服务端根据所述合约识别信息调用并执行对应的智能合约程序,其中,将所述合约参数内容作为输入参数内容,当所述执行确定达成合约条件,则将所述待支付的数字资产划转给所述接收端所在账户。本方法使得支付端和接收端在离线状态下可以签约交易,并且简化了支付端和接收端之间的签约交易过程。
Description
【技术领域】
本发明涉及数字资产技术领域,尤其涉及一种智能合约处理方法、支付端、接收端、服务端及系统。
【背景技术】
数字资产是指以电子数据形式存在的资产,例如虚拟资产、数字货币、电子货币等。数字资产业务在金融、支付等领域已得到广泛应用或快速推进,例如支付宝、微信支付、央行数字货币及各类银行支付业务等。
在数字资产的应用过程中,会涉及到支付端向接收端进行数字资产的支付,但是,在数字资产支付的实施过程中,如何在离线状态下实现数字资产基于交易条件的支付是需要解决的技术问题。
需要说明的是,上述背景信息仅用于加强对本发明背景技术的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术信息。
【发明内容】
本发明的主要目的在于提供一种智能合约处理方法、支付端、接收端、服务端及系统,进而至少在一定程度上解决由于相关技术的限制和缺陷而导致的一个或者多个技术问题,包括以下技术方案:
第一方面,提供了一种智能合约处理方法,应用于服务端,所述方法包括:
接收接收端发送的交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产;
根据所述合约识别信息调用并执行对应的智能合约程序,将所述合约参数内容作为执行所述智能合约程序的输入参数内容;
若所述智能合约程序的执行确定达成合约条件,则将所述待支付的数字资产划转给所述接收端所在账户。
优选的,所述根据所述合约识别信息调用并执行对应的智能合约程序还包括:
若所述接收接收端发送的交易凭证还包括接收支付端对所述交易凭证进行数字签名生成的第一签名值,则根据所述第一签名值对所述交易凭证进行数字签名验证,若验证所述第一签名值不合法,则不执行所述根据所述合约识别信息调用并执行对应的智能合约程序;或/和,
若所述接收接收端发送的交易凭证还包括接收所述接收端对所述交易凭证进行数字签名生成的第二签名值,则根据所述第二签名值对所述交易凭证进行数字签名验证,若验证所述第二签名值不合法,则不执行所述根据所述合约识别信息调用并执行对应的智能合约程序。
优选的,所述接收接收端发送的交易凭证之前还包括:
接收对所述智能合约程序的注册;
检测所述智能合约程序是否符合预先确定的合约规范;
若检测结果为是,则部署所述智能合约程序,包括建立所述合约识别信息与所述智能合约程序的对应关系,以使得根据所述合约识别信息和该对应关系能够调用并执行所述智能合约程序。
优选的,所述方法还包括:
在所述接收对所述智能合约程序的注册时,或者在所述部署所述智能合约程序时,生成所述合约识别信息。
优选的,所述部署所述智能合约程序还包括:
生成所述智能合约程序的描述信息,所述描述信息中包括所述合约识别信息,以用于指示在生成的所述交易凭证中包括所述合约识别信息。
优选的,所述描述信息还包括一项或多项输入参数描述,以用于指示在所述交易凭证中包括的所述合约参数内容符合所述智能合约程序的输入参数格式要求。
优选的,所述生成所述智能合约程序的描述信息还包括:
对所述描述信息进行数字签名以生成第三签名值,并且将所述描述信息和所述第三签名值一同对外发布,以使得根据所述第三签名值可以验证所述描述信息是否合法。
优选的,所述将所述待支付的数字资产划转给所述接收端所在账户还包括:
向数字资产服务端发送包括所述待支付的数字资产的划转信息,以使得所述数字资产服务端将所述待支付的数字资产划转给所述接收端所在账户。
优选的,所述将所述待支付的数字资产划转给所述接收端所在账户包括:
所述数字资产为余额形式的数字资产,则从支付端所在账户中扣减所述待支付的数字资产,在所述接收端所在账户中增加所述待支付的数字资产;或者,
所述数字资产为字符串形式的数字资产,则将所述待支付的数字资产更改为所述接收端所在账户下的数字资产。
优选的,根据所述交易凭证中包括的支付端识别信息确定所述支付端所在账户。
优选的,根据所述交易凭证中包括的接收端识别信息或者根据所述交易凭证发送方的识别信息确定所述接收端所在账户。
第二方面,提供了一种智能合约处理方法,应用于支付端,所述方法包括:
生成交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产,所述合约识别信息为用于识别指定智能合约程序的识别信息,所述待支付的数字资产为所述支付端要向接收端支付的数字资产;
将所述交易凭证发送给所述接收端,以使得所述接收端对所述交易凭证进行验证。
优选的,所述交易凭证还包括:
所述支付端的识别信息;或/和,
所述接收端的识别信息。
优选的,所述生成交易凭证还包括:
根据所述指定智能合约程序的描述信息生成所述交易凭证,其中,所述交易凭证中的所述合约识别信息是根据所述描述信息中包括的合约识别信息生成。
优选的,所述描述信息还包括一项或多项输入参数描述,根据该输入参数描述生成所述交易凭证中包括的所述合约参数内容。
优选的,所述根据所述指定智能合约程序的描述信息生成所述交易凭证还包括:
同时获取服务端对所述描述信息进行数字签名生成的第三签名值,根据所述第三签名值对所述描述信息进行数字签名验证,若确定所述第三签名值合法,则执行所述根据所述指定智能合约程序的描述信息生成所述交易凭证。
优选的,所述将所述交易凭证发送给所述接收端还包括:
所述支付端对所述交易凭证进行数字签名以生成第一签名值,将所述第一签名值发送给所述接收端。
第三方面,提供了一种智能合约处理方法,应用于接收端,所述方法包括:
接收支付端传递的交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产;
对所述交易凭证进行验证,若实施的验证方式都确定验证通过,则确定所述交易凭证合法;
将所述交易凭证发送给服务端,以使得所述服务端根据所述交易凭证进行数字资产的划转;
其中,所述对所述交易凭证进行验证包括:
验证方式一,验证所述合约识别信息是否属于所述接收端预先设定的合约识别信息,若是,则确定验证通过。
优选的,所述交易凭证还包括:
所述支付端的识别信息;或/和,
所述接收端的识别信息。
优选的,所述对所述交易凭证进行验证还包括:
验证方式二,验证所述合约参数内容是否符合预先设定的合约内容,若是,则确定验证通过;或/和,
验证方式三,所述交易凭证还包括接收端识别信息,验证所述接收端识别信息是否属于预先设定的接收端识别信息,若是,则确定验证通过;或/和,
验证方式四,所述接收支付端传递的交易凭证还包括接收所述支付端传递的对所述交易凭证进行数字签名生成的第一签名值,根据所述第一签名值对所述交易凭证进行数字签名验证。
优选的,所述将所述交易凭证发送给服务端还包括:
若所述接收支付端传递的交易凭证还包括接收所述支付端传递的对所述交易凭证的第一签名值,则将所述第一签名值发送给所述服务端;或/和,
所述接收端对所述交易凭证进行数字签名以生成第二签名值,将所述第二签名值发送给所述服务端。
第四方面,一种服务端设备,所述服务端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如上第一方面所述的方法。
一种支付端设备,所述支付端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如上第二方面所述的方法。
一种接收端设备,所述接收端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如上第三方面所述的方法。
一种存储介质,所述存储介质中存储有程序,所述程序用于实现如上第一方面所述的方法,或者所述程序用于实现如上第二方面所述的方法,或者所述程序用于实现如上第三方面所述的方法。
第五方面,一种系统,所述系统包括服务端设备、支付端设备和接收端设备,其中,所述服务端设备包括如上第四方面所述的服务端设备,所述支付端设备包括如上第四方面所述的支付端设备,所述接收端设备包括如上第四方面所述的接收端设备。
综上所述,本发明提供的技术方案可带来的技术效果至少包括:第一,支付端和接收端只需要根据指定智能合约程序的合约识别信息和其输入参数格式要求就可以进行签约交易,而且不需与服务端保持在线状态,即在离线状态下就可以实现签约交易;第二,由于是在服务端上部署智能合约程序,而且支付端和接收端只需要根据指定智能合约程序的合约识别信息和其输入参数格式要求就可以进行签约交易,因此简化了支付端和接收端之间的签约交易过程;第三,同一个智能合约程序可以用于处理多个交易凭证,即同一个智能合约程序可以用于多个不同的支付端和接收端之间相互进行签约交易,从而可以避免为每一笔签约交易都开发智能合约程序。
【附图说明】
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明所涉及的一种实施环境的结构示意图;
图2是一种智能合约处理方法实施例一的流程图;
图3是一种智能合约处理方法实施例二的流程图;
图4是一种智能合约处理方法实施例三的流程图;
图5是一种智能合约处理方法实施例四的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一、实施环境说明
请参考图1,其示出了本发明所涉及的一种实施环境的结构示意图。该实施环境包括支付端、接收端和服务端,其中:
支付端:数字资产的支付端,用于向接收端进行数字资产的支付。支付端既可以是软件程序,例如客户端程序;也可以是由软件和硬件组合实现的设备,例如,既可以是智能手机、智能电视、平板电脑、笔记本电脑等用户终端设备,也可以是智能手表、智能手环等可穿戴式终端设备,还可以是诸如服务器、芯片卡、硬件钱包等其他设备。
接收端:数字资产的接收端,用于接收支付端的数字资产支付,并且根据支付端提供的交易凭证向服务端请求完成数字资产的划转。接收端既可以是软件程序,也可以是由软件和硬件组合实现的设备,例如,既可以是智能手机、销售终端(POS机)、扫描枪、读码器、PC(个人电脑)、服务器等设备,也可以是智能电视、平板电脑、笔记本电脑、智能手表、智能手环等终端设备,还可以是诸如芯片卡、硬件钱包等其他设备。
服务端:智能合约服务端,根据接收端传递的交易凭证来确定是否达成合约条件,并且根据该结果执行数字资产的划转。服务端可以是一个物理或逻辑服务器,也可以是云服务器,还可以是由两个或两个以上分担不同职责的服务器相互协同来实现本说明书各实施例中服务端的各项功能。
支付端与接收端之间的信息传递可以包括多种方式,例如互联网、局域网或近距离通信等方式,其中,近距离通信包括但不限于通过蓝牙、红外线、NFC、WIFI、声波、BLE(低功耗蓝牙)或图形码的通信方式。例如,在支付端和接收端不能与互联网实时通信的环境下,在该环境内建立局域网络,支付端和接收端接入该局域网络,支付端与接收端通过该局域网络相互通信;又例如,支付端与接收端通过蓝牙配对建立蓝牙通道以实现近距离通信;再例如,支付端与接收端通过NFC天线感应以实现近距离通信;还例如,支付端或接收端中的一端对要传递的信息进行编码生成图形码,另一端扫描并解析该图形码以获取要传递的信息,从而通过图形码实现支付端与接收端之间的近距离通信,图形码可以是二维码或条形码,也可以是其它可以通过扫描及解码方式获取其信息的图形。
接收端与服务端之间的信息传递,既可以由接收端与服务端之间建立网络连接以实现直接的信息传递,该网络既可以是互联网,也可以是专用的网络;也可以由接收端通过中间设备与服务端实现间接的信息传递。
支付端与服务端之间并非必须进行信息传递,但当支付端需与服务端进行信息传递时(例如当支付端从服务端获取智能合约程序的描述信息时),则既可以由支付端与服务端建立网络连接以实现直接的信息传递,该网络既可以是互联网,也可以是专用的网络;也可以由支付端通过中间设备与服务端实现间接的信息传递。
为了便于说明,本发明各实施例仅以一个支付端和一个接收端为例进行说明,但在实际实施环境中,可以包括多个甚至大量的支付端和接收端,对于一个设备,既可以只作为支付端或接收端,或者也可以既作为支付端又作为接收端。
需要说明的是,本领域技术人员可以理解,图1中示出的实施环境结构并不构成对实施环境的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。图1中示出的实施环境结构仅用于加强对本发明技术的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术信息。
二、一种智能合约处理方法实施例一
请参考图2,其示出了本发明提供的一种智能合约处理方法实施例一的流程图。本实施例以该方法应用于图1所示实施环境中的服务端来举例说明,该方法可以包括:
步骤201.接收接收端发送的交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产。
步骤202.根据所述合约识别信息调用并执行对应的智能合约程序,将所述合约参数内容作为执行所述智能合约程序的输入参数内容。
在所述服务端上部署有多个智能合约程序,每个智能合约程序用于处理相应的合约参数内容,当所述服务端接收到接收端发送的交易凭证时,所述服务端根据所述合约识别信息调用并执行对应的智能合约程序,并且将所述交易凭证中包括的所述合约参数内容作为执行所述智能合约程序的输入参数内容。可以理解,本发明实施例中的多个,是指二个或者二个以上的情况。
对于部署在所述服务端上的智能合约程序,所述服务端可以在经过检测之后才部署该智能合约程序,具体过程可以包括:
接收智能合约程序的注册,例如接收用户上传的智能合约程序的源代码,或者接收经用户编译之后的程序等;
检测该智能合约程序是否符合预先确定的合约规范,具体的,通过人工检测或/和自动化检测的方式检测正在注册的该智能合约程序是否符合预先确定的合约规范,该合约规范是指对智能合约程序的规范性要求,例如功能是否达到预期要求、输入参数内容的数量限制、输入参数内容的格式要求、输入参数内容中不可以出现的内容限制、安全性检测、可靠性检测、执行的性能效率检测等。
若检测结果为该智能合约程序是符合预先确定的合约规范,则在所述服务端上部署该智能合约程序,包括建立合约识别信息与该智能合约程序的对应关系,以使得根据该合约识别信息和该对应关系能够调用并执行该智能合约程序,其中,该合约识别信息可以在上述接收对该智能合约程序的注册时或者在上述部署该智能合约程序时生成。
进一步的,为了使得合约参与方(例如支付端、接收端)能够根据该智能合约程序进行签约交易,并且生成符合该智能合约程序的交易凭证,则所述服务端可以生成该智能合约程序的描述信息,所述描述信息中包括该智能合约程序的合约识别信息,以用于指示在生成的交易凭证中包括该合约识别信息,而且所述描述信息还可以包括一项或多项输入参数描述,以用于指示在生成的交易凭证中生成符合该智能合约程序的输入参数格式要求的合约参数内容。
可以理解,在实际应用过程中,所述描述信息还可以包括合约名称、合约条款等描述信息,对此本发明实施例并不进行限定。也可以理解,输入参数格式要求可以是支持结构化数据的参数格式要求,也可以是支持非结构化数据的参数格式要求,对此本发明实施例亦不进行限定。
进一步的,所述服务端还可以对所述描述信息进行数字签名以生成第三签名值,并且将所述描述信息和所述第三签名值一同对外发布(例如将所述第三签名值作为所述描述信息的附加信息,或者将所述描述信息和所述第三签名值一同进行打包发布等),以使得合约参与方(例如支付端)根据所述第三签名值可以验证所述描述信息是否合法。其中,数字签名的具体实施方式,所述服务端使用非对称加密算法进行数字签名以生成所述第三签名值,例如,所述服务端使用哈希算法对所述描述信息进行哈希计算得到哈希值(即信息摘要),所述服务端使用所述服务端的私钥对该哈希值加密得到加密结果(即第三签名值)。
可以理解,本发明各实施例中的智能合约是指一套以数字形式定义的承诺,本发明各实施例中的智能合约程序是指用于执行智能合约的程序或代码,其中,每个智能合约程序是用于处理某项业务签约交易的智能合约程序,例如,用于房屋买卖签约的智能合约程序、用于分期培训服务签约的智能合约程序等。具体的,合约参与方根据指定的智能合约程序签署包括合约识别信息和合约参数内容等的交易条件,一旦智能合约程序判断合约条件达成(也可以理解为是当承诺的协议达成),则自动化地实现数字资产的划转。
步骤203.若所述智能合约程序的执行确定达成合约条件,则将所述待支付的数字资产划转给所述接收端所在账户。
由上述应用于服务端的实施例可知,服务端根据交易凭证中的合约识别信息和合约参数内容来执行智能合约,并且根据执行结果来确定是否划转待支付的数字资产。
三、一种智能合约处理方法实施例二
请参考图3,其示出了本发明提供的一种智能合约处理方法实施例二的流程图。本实施例以该方法应用于图1所示实施环境中的支付端来举例说明,该方法可以包括:
步骤301.生成交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产,所述合约识别信息为用于识别指定智能合约程序的识别信息,所述待支付的数字资产为所述支付端要向接收端支付的数字资产。
步骤302.将所述交易凭证发送给所述接收端,以使得所述接收端对所述交易凭证进行验证。
上述应用于支付端的实施例,支付端将生成的交易凭证发送给接收端,从而可以在不与服务端进行通信的情况下,支付端与接收端进行签约交易。
四、一种智能合约处理方法实施例三
请参考图4,其示出了本发明提供的一种智能合约处理方法实施例三的流程图。本实施例以该方法应用于图1所示实施环境的接收端来举例说明,该方法可以包括:
步骤401.接收支付端传递的交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产。
步骤402.对所述交易凭证进行验证,若实施的验证方式都确定验证通过,则确定所述交易凭证合法。
所述接收端对所述交易凭证进行验证,其中,验证方式包括:
验证方式一,验证所述合约识别信息是否属于所述接收端预先设定的合约识别信息,若是,则确定验证通过。
进一步的,验证方式还可以包括:
验证方式二,验证所述合约参数内容是否符合预先设定的合约内容,若是,则确定验证通过;或/和,
验证方式三,所述交易凭证还包括接收端识别信息,验证所述接收端识别信息是否属于预先设定的接收端识别信息,若是,则确定验证通过;或/和,
验证方式四,所述接收支付端传递的交易凭证还包括接收所述支付端传递的对所述交易凭证的第一签名值,根据所述第一签名值对所述交易凭证进行数字签名验证。
步骤403.将所述交易凭证发送给服务端,以使得所述服务端根据所述交易凭证进行数字资产的划转。
上述应用于接收端的实施例,接收端对于接收到的支付端传递的交易凭证,可以在不与服务端进行通信的情况下,可以根据该交易凭证中的合约识别信息等信息来验证该交易凭证是否达到签约交易要求。
五、一种智能合约处理方法实施例四
请参考图5,其示出了本发明提供的一种智能合约处理方法实施例四的流程图。本实施例是结合了上述一种智能合约处理方法实施例一、实施例二和实施例三所形成的实施例。本实施例以该方法应用于图1所示的实施环境来举例说明,并且以支付端、接收端和服务端实施一个完整的过程来进行举例说明,该方法可以包括:
步骤501.支付端生成交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产,所述合约识别信息为用于识别指定智能合约程序的识别信息,所述待支付的数字资产为所述支付端要向接收端支付的数字资产。
当支付端和接收端在进行签约交易时,所述支付端生成交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产,所述合约识别信息为用于识别指定智能合约程序的识别信息,所述待支付的数字资产为所述支付端要向所述接收端支付的数字资产。
可以理解,所述待支付的数字资产,是所述支付端要支付给所述接收端的数字资产,在所述支付端确定要支付给所述接收端的支付数额之后,所述支付端根据该支付数额在生成的所述交易凭证中包括所述待支付的数字资产。例如,本发明实施例中的数字资产可以是余额形式的数字资产,假设所述支付端确定要支付给所述接收端的支付数额为20,相当于所述支付端要支付给所述接收端的所述待支付的数字资产为20,则所述支付端在生成的所述交易凭证中包括20;又例如,本发明实施例中的数字资产还可以是字符串形式的数字资产,以数字货币为例,每个不同的加密字符串分别表示对应的数字货币,假设所述支付端确定要支付给所述接收端的支付数额为20,则所述支付端从所述支付端当前可用的数字资产中选取面值为20的加密字符串为所述待支付的数字资产,或者选取面值总和为20的多个加密字符串为所述待支付的数字资产,并且在生成的所述交易凭证中包括该选取的一个或多个加密字符串。
可以理解,所述合约识别信息为用于识别指定智能合约程序的识别信息,而所述指定智能合约程序为部署在服务端上的智能合约程序。在所述服务端上部署有多个甚至大量的智能合约程序,例如所述服务端上可以部署用于房屋买卖签约的智能合约程序(即房屋买卖智能合约程序)、部署用于分期培训服务签约的智能合约程序(即分期培训服务智能合约程序),因此,基于不同的应用场景,可以生成相应的交易凭证:
例如,以房屋买卖签约的应用场景为例,则所述交易凭证中包括的所述合约识别信息为用于识别房屋买卖智能合约程序的合约识别信息,所述交易凭证中包括的所述合约参数内容可以包括买卖的房屋地址信息(如xxx小区xxx栋xxx单元)、买受人的产权人信息(如产权人姓名、产权人身份证号)等。可以理解,在实际应用场景中,所述支付端为房屋买受人的支付端,所述接收端为房屋出卖人的接收端。
又例如,以分期培训服务签约的应用场景为例,则所述交易凭证中包括的所述合约识别信息为用于识别分期培训服务智能合约程序的合约识别信息,所述交易凭证中包括的所述合约参数内容可以包括培训课程名称、培训次数(如10次)等。可以理解,在实际应用场景中,所述支付端为培训委托方的支付端,所述接收端为培训服务方的接收端。
可以理解,所述合约识别信息、或/和所述合约参数内容或/和上述的支付数额,可以是所述接收端传递的,例如所述接收端生成包括所述合约识别信息、或/和所述合约参数内容或/和支付数额的图形码,所述支付端扫描及解析该图形码以获取相应的信息;也可以是所述支付端的用户输入的,例如,所述支付端的用户在所述支付端的操作界面上输入相应的信息。
可以理解,对于可编程性的数字资产,可以将所述合约识别信息和所述合约参数内容作为交易条件写入所述待支付的数字资产中,从而在实际应用中可以将写入了该交易条件的所述待支付的数字资产理解为是所述交易凭证。
进一步的,所述支付端在生成所述交易凭证时,可以获取所述指定智能合约程序的描述信息,然后根据所述描述信息生成所述交易凭证。其中,所述描述信息中包括合约识别信息,则所述交易凭证中的所述合约识别信息为根据所述描述信息中包括的合约识别信息生成,例如,所述支付端获取所述描述信息中包括的合约识别信息,并且在生成的所述交易凭证中包括该合约识别信息;又例如,所述支付端判断用户输入的合约识别信息与所述描述信息中包括的合约识别信息是否一致,若一致,则在生成的所述交易凭证中包括该合约识别信息。其中,所述描述信息中还包括一项或多项合约参数描述,所述合约参数描述中描述了所述指定智能合约程序的输入参数格式要求,则所述支付端根据该合约参数描述生成所述合约参数内容,例如,所述支付端的用户根据该合约参数描述向所述支付端输入所述合约参数内容,以使得输入的所述合约参数内容符合所述指定智能合约程序的输入参数格式要求;又例如,所述支付端根据该合约参数描述将输入的合约参数内容转换为符合所述指定智能合约程序的输入参数格式。
可以理解,如果所述指定智能合约程序处理的是固定的支付数额的数字资产,则也可以在所述描述信息中包括该固定的支付数额,从而所述支付端从所述描述信息中获取该固定的支付数额,并且根据该固定的支付数额在生成的所述交易凭证中包括所述待支付的数字资产。
所述支付端获取所述描述信息可以包括多种方式,例如从所述服务端上查找并获取所述指定智能合约程序的描述信息;又例如,所述接收端上预先存储所述描述信息,在所述支付端与所述接收端进行支付时,所述支付端从所述接收端上获取所述描述信息。
进一步的,在所述支付端根据所述指定智能合约程序的描述信息生成所述交易凭证时,还同时获取所述服务端对所述描述信息进行数字签名生成的第三签名值,根据所述第三签名值对所述描述信息进行数字签名验证,若确定所述第三签名值合法,则执行所述根据所述指定智能合约程序的描述信息生成所述交易凭证,若确定所述第三签名值不合法,则不执行所述根据所述指定智能合约程序的描述信息生成所述交易凭证。
具体的,所述支付端获取所述服务端的公钥,使用该公钥解密所述第三签名值得到解密结果(即信息摘要),并且所述支付端使用相同的哈希算法对所述描述信息进行哈希计算得到哈希值(即校验值),比较该解密结果(即信息摘要)与该校验值是否相同,若相同,则确定所述第三签名值合法,否则,则确定所述第三签名值不合法。
所述支付端获取所述服务端的公钥,可以是获取所述支付端预先保存的所述服务端的公钥,例如,所述支付端上预先保存所述服务端的公钥,则所述支付端获取该保存的公钥,可以理解,当所述服务端基于IBC(Identity-Based Cryptograph)产生的私钥对所述交易凭证进行数字签名,并且以所述服务端的识别信息作为所述服务端的公钥时,则所述支付端预先保存的所述服务端的公钥为所述服务端的识别信息;所述支付端也可以是获取所述服务端传递的服务端的公钥,例如,当所述服务端基于PKI(Public KeyInfrastructure)体系产生的私钥对所述交易凭证进行数字签名时,所述服务端还对外发布有所述服务端的数字证书,如此所述支付端从该数字证书中获取所述服务端的公钥,可以理解,实际应用过程中,还应当使用预置的根证书验证该数字证书是否合法。
可以理解,在所述服务端上部署所述指定智能合约程序、以及生成所述指定智能合约程序的描述信息,可以参考上述实施例一中的说明,在此不再赘述。
可选的,所述交易凭证中还可以包括所述支付端的识别信息,其主要作用在于在所述服务端上确定所述支付端所在的账户,即主要用于确定数字资产划转时的支付账户。所述支付端识别信息可以是终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址、用户身份信息或其他可用于在所述服务端上唯一地确定支付端所在账户的识别信息。所述支付端在生成所述交易凭证时,在所述交易凭证中包括所述支付端的识别信息(即所述支付端识别信息),从而使得所述服务端可以根据所述支付端识别信息确定支付账户。
可选的,所述交易凭证中还可以包括所述接收端的识别信息,其主要作用在于在所述服务端上确定所述接收端所在的账户,即主要用于确定数字资产划转时的接收账户。所述接收端识别信息可以是终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址、用户身份信息或其他可用于在所述服务端上唯一地确定接收端所在账户的识别信息。所述接收端识别信息既可以是用户输入的,例如在所述支付端触发显示操作界面,所述支付端的用户在所述支付端的操作界面上输入所述接收端识别信息;也可以是所述接收端传递的,例如在所述接收端传递给所述支付端的支付请求中包括所述接收端识别信息,又例如在所述接收端生成的图形码中包括所述接收端识别信息,所述支付端通过扫描及解析该图形码获取到所述接收端识别信息。
可选的,为了防止所述交易凭证被篡改,所述支付端还可以对所述交易凭证进行数字签名以生成签名值(即第一签名值)。
具体的,数字签名是指附加在数据单元上的数据,或是对数据单元所作的密码变换,这种数据或变换允许数据单元的验证方(如接收端或服务端)用以确认数据单元的来源和完整性,并保护数据防止被伪造或抵赖。在数字签名的一种实现方式中,所述支付端使用非对称加密算法进行数字签名以生成所述第一签名值,例如,所述支付端使用哈希算法对所述交易凭证进行哈希计算得到哈希值(即信息摘要),所述支付端使用所述支付端的私钥对该哈希值加密得到加密结果(即第一签名值)。
步骤502.所述支付端将所述交易凭证传递给所述接收端。
根据所述支付端和所述接收端之间的通信方式(例如互联网、局域网或近距离通信等方式),所述支付端将所述交易凭证传递给所述接收端。可以理解,近距离通信方式包括蓝牙、红外线、NFC、WIFI、声波、BLE(低功耗蓝牙)或图形码等近距离通信方式。
可选的,如果所述支付端还对所述交易凭证进行数字签名生成第一签名值,则所述支付端同时将所述第一签名值传递给所述接收端。
相应地,所述接收端接收所述支付端传递的所述交易凭证,可选的,所述接收端还接收所述支付端传递的所述第一签名值。
步骤503.所述接收端对所述交易凭证进行验证,若实施的验证方式都确定验证通过,则确定所述交易凭证合法。
所述接收端对所述交易凭证进行验证,若实施的验证方式都确定验证通过,则确定所述交易凭证合法。其中,所述接收端对所述交易凭证的验证方式包括:
验证方式一,验证所述合约识别信息是否属于所述接收端预先设定的合约识别信息,若是,则确定验证通过。
所述接收端获取所述交易凭证中包括的所述合约识别信息,并且所述接收端上预先设定一个或多个合约识别信息,所述接收端验证所述合约识别信息是否属于所述接收端预先设定的合约识别信息,若是,则确定验证通过。
具体的,所述接收端将预先设定的合约识别信息与所述合约识别信息进行比较,若二者一致,则确定验证通过;否则,则确定验证不通过。可以理解,实际实施过程中,如果所述接收端预先设定的合约识别信息包括多个合约识别信息,则所述接收端可以将该多个合约识别信息与所述合约识别信息进行比较,如果有任意一个合约识别信息与所述合约识别信息相一致,则确定验证通过。
如此实施的主要作用在于,所述接收端只对用于指定智能合约程序的交易凭证才验证通过,例如,以所述接收端为房屋出卖人的接收端为例,则所述接收端上预先设定的合约识别信息为用于识别房屋买卖智能合约程序的合约识别信息;又例如,以所述接收端为培训服务方的接收端为例,则所述接收端上预先设定的合约识别信息为用于识别分期培训服务智能合约程序的合约识别信息。
进一步的,所述接收端还可以通过如下验证方式对所述交易凭证进行验证,具体包括:
验证方式二,验证所述合约参数内容是否符合预先设定的合约内容,若是,则确定验证通过。
所述接收端验证所述合约参数内容中的部分或全部内容是否符合预先设定的合约内容,以此可以确定所述合约参数内容是否属于可以进行签约交易的合约参数内容,例如,以房屋买卖签约的应用场景为例,所述接收端可以验证所述合约参数内容中买卖的房屋地址信息与所述接收端上预先设定的房屋地址信息是否一致,若是一致,则说明所述支付端的用户(即房屋买受人)购买的是所述接收端的用户(即房屋出卖人)的房屋,确定验证通过,否则,则确定验证不通过;又例如,以分期培训服务签约的应用场景为例,则所述接收端可以验证所述合约参数内容中培训课程名称与所述接收端的用户提供的课程名称是否一致,若是一致,则说明所述支付端的用户(即培训委托方)购买的是所述接收端的用户(即培训服务方)的培训课程,确定验证通过,否则,则确定验证不通过。
验证方式三,所述交易凭证还包括接收端识别信息,验证所述接收端识别信息是否属于预先设定的接收端识别信息,若是,则确定验证通过。
如上述步骤501中所述,所述交易凭证中还包括所述接收端的识别信息(即接收端识别信息),所述接收端验证所述接收端识别信息是否属于所述接收端预先设定的接收端识别信息,若是,则确定验证通过,否则,则确定验证不通过。
具体的,所述接收端将预先设定的接收端识别信息与所述接收端识别信息进行比较,若二者一致,则确定验证通过;否则,则确定验证不通过。
可以理解,实际实施过程中,所述接收端预先设定的接收端识别信息可以不限于一个,也可以包括多个接收端识别信息,如此,则所述接收端可以将该多个接收端识别信息与所述接收端识别信息进行比较,如果有任意一个接收端识别信息与所述接收端识别信息相一致,则确定验证通过。
验证方式四,所述接收所述支付端传递的交易凭证还包括接收所述支付端传递的对所述交易凭证进行数字签名生成的第一签名值,则根据所述第一签名值对所述交易凭证进行数字签名验证,若验证所述第一签名值合法,则确定验证通过,否则,则确定验证不通过。
具体的,所述接收端获取所述支付端的公钥,使用该公钥解密所述第一签名值得到解密结果(即信息摘要),并且所述接收端使用相同的哈希算法对所述交易凭证进行哈希计算得到哈希值(即校验值),比较该解密结果(即信息摘要)与该校验值是否相同,若相同,则确定所述第一签名值合法,否则,则确定所述第一签名值不合法。
所述接收端获取所述支付端的公钥,可以是获取所述接收端上预先保存的所述支付端的公钥,例如,所述接收端上预先保存所述支付端的公钥,则所述接收端获取该保存的公钥,可以理解,当所述支付端基于IBC(Identity-Based Cryptograph)产生的私钥对所述交易凭证进行数字签名,并且以所述支付端的识别信息作为所述支付端的公钥时,则所述接收端获取的所述支付端的公钥为所述支付端的识别信息,或者所述接收端获取所述交易凭证中的支付端识别信息作为所述支付端的公钥;又例如,当所述支付端基于PKI(PublicKey Infrastructure)体系产生的私钥对所述交易凭证进行数字签名时,则所述接收端可以接收所述支付端发送的数字证书,如此所述接收端从该数字证书中获取所述支付端的公钥,可以理解,实际应用过程中,还应当使用预置的根证书验证该数字证书是否合法。
可以理解,当同时实施上述多种验证方式时,只有每种验证方式都确定验证通过,才确定所述交易凭证合法,否则,若任一验证方式为验证不通过,则确定所述交易凭证不合法。也可以理解,当只实施上述验证方式中的一种验证方式时,若该一种验证方式确定验证通过,则确定所述交易凭证合法,否则,若该一种验证方式确定验证不通过,则确定所述交易凭证不合法。
此外,所述接收端对所述交易凭证进行验证的实施方式,还可以包括检查所述交易凭证的数据格式是否有效、判断所述待支付的数字资产是否达到预设要求、对所述交易凭证中携带的认证信息或用户信息(如果涉及)进行验证等,对此本发明实施例并不进行限定。
所述接收端在验证所述交易凭证合法之后,则所述接收端可以认可该次签约交易。在实际应用场景中,以房屋买卖签约的应用场景为例,则所述接收端的用户可以开始向房屋产权登记机构对买卖的房屋办理产权人信息的变更;以分期培训服务签约的应用场景为例,则所述接收端的用户可以向所述支付端的用户分期提供相应的培训服务。
可以理解,所述接收端既可以在在线状态时实施本步骤,也可以在离线状态时实施本步骤,从而可以在所述接收端接收到所述交易凭证之后、以及在将所述交易凭证发送给所述服务端之前确定所述交易凭证是否合法。可以理解,这里所指的在线状态是指能够与服务端进行实时通信的应用场景,这里所指的离线状态是指不能够与服务端进行实时通信的应用场景。
步骤504.所述接收端将所述交易凭证发送给服务端。
所述接收端将所述交易凭证发送给所述服务端。具体的,既可以由所述接收端与所述服务端建立网络连接,由所述接收端直接将所述交易凭证发送给所述服务端;也可以由所述接收端间接地将所述交易凭证发送给所述服务端,即所述接收端通过中间设备(如收款服务器等收款设备)将所述交易凭证发送给所述服务端。
可以理解,如果所述接收端是在离线状态下接收的所述交易凭证,则所述接收端或中间设备应当在处于在线状态之后才可以将所述交易凭证发送给所述服务端。
进一步的,如上述步骤502中所述,如果所述接收端还接收有所述支付端传递的对所述交易凭证的第一签名值,则所述接收端将所述第一签名值发送给所述服务端。
进一步的,所述接收端对所述交易凭证进行数字签名以生成第二签名值,并且将所述第二签名值发送给所述服务端。具体的,所述接收端使用非对称加密算法进行数字签名以生成签名值(即所述第二签名值),例如,所述接收端使用哈希算法对所述交易凭证进行哈希计算得到哈希值(即信息摘要),所述接收端使用所述接收端的私钥对该哈希值加密得到加密结果(即第二签名值)。
相应地,所述服务端接收所述接收端发送的所述交易凭证,进一步的,还接收所述接收端发送的所述第一签名值或/和所述第二签名值。
步骤505.所述服务端根据所述合约识别信息调用并执行所述指定智能合约程序,其中,将所述合约参数内容作为执行所述指定智能合约程序的输入参数内容。
所述服务端从所述交易凭证中获取所述合约识别信息,并且根据所述合约识别信息调用并执行对应的智能合约程序。可以理解,所述服务端上部署有多个智能合约程序,如上述步骤501中所述,所述合约识别信息为用于识别指定智能合约程序的识别信息,因此,本步骤中调用并执行的对应的智能合约程序亦即为上述步骤501中的所述指定智能合约程序,例如,以所述合约识别信息为用于识别房屋买卖智能合约程序的合约识别信息为例,则调用并执行的对应的智能合约程序为该房屋买卖智能合约程序;又例如,以所述合约识别信息为用于识别分期培训服务智能合约程序的合约识别信息为例,则调用并执行的对应的智能合约程序为该分期培训服务智能合约程序。
进一步的,若所述服务端接收所述接收端发送的所述交易凭证还包括接收所述支付端对所述交易凭证进行数字签名生成的第一签名值,则根据所述第一签名值对所述交易凭证进行数字签名验证,若确定所述第一签名值不合法,则不执行根据所述合约识别信息调用并执行所述指定智能合约程序。数字签名的验证方式,具体的,所述服务端获取所述支付端的公钥,使用该公钥解密所述第一签名值得到解密结果(即信息摘要),并且所述服务端使用相同的哈希算法对所述交易凭证进行哈希计算得到哈希值(即校验值),比较该解密结果(即信息摘要)与该校验值是否相同,若相同,则确定所述第一签名值合法,否则,则确定所述第一签名值不合法。
进一步的,若所述服务端接收所述接收端发送的所述交易凭证还包括接收所述接收端对所述交易凭证进行数字签名生成的第二签名值,则根据所述第二签名值对所述交易凭证进行数字签名验证,若确定所述第二签名值不合法,则不执行根据所述合约识别信息调用并执行所述指定智能合约程序。数字签名的验证方式,具体的,所述服务端获取所述接收端的公钥,使用该公钥解密所述第二签名值得到解密结果(即信息摘要),并且所述服务端使用相同的哈希算法对所述交易凭证进行哈希计算得到哈希值(即校验值),比较该解密结果(即信息摘要)与该校验值是否相同,若相同,则确定所述第二签名值合法,否则,则确定所述第二签名值不合法。
步骤506.在所述服务端上,当所述指定智能合约程序的执行确定达成合约条件,则将所述待支付的数字资产划转给所述接收端所在账户。
在所述服务端上,当所述指定智能合约程序的执行确定达成合约条件,则将所述待支付的数字资产划转给所述接收端所在账户。
所述指定智能合约程序将所述合约参数内容作为输入参数内容进行执行,若确定达成合约条件,例如,以所述指定智能合约程序为房屋买卖智能合约程序为例,所述指定智能合约程序向房屋产权登记机构查询所述合约参数内容中包括的买卖的房屋地址信息,若该房屋地址信息所属的产权人信息已经变更为所述合约参数内容中包括的买受人的产权人信息,则确定达成合约条件;又例如,以所述指定智能合约程序为分期培训服务智能合约程序为例,所述指定智能合约程序根据培训服务方或/和培训委托方反馈的课后信息、或/和结合培训次数所生成的时间信息等确定合约条件是否达成,或者确定合约条件是否全部或部分达成。可以理解,如果确定合约条件是部分达成,则也可以是部分地将所述待支付的数字资产划转给所述接收端所在账户,例如,当所述指定智能合约程序的执行确定每完成一次培训服务,则从所述待支付的数字资产中划转十分之一(假设总共培训次数为10次)的数字资产给所述接收端所在账户。
将所述待支付的数字资产划转给所述接收端所在账户,根据数字资产的类型,可以采取相对应的划转方式,具体可以包括:
以数字资产为余额形式的数字资产为例,则从所述支付端所在账户中扣减所述待支付的数字资产,在所述接收端所在账户中增加所述待支付的数字资产。例如,以所述支付端所在账户的余额是100、所述接收端所在账户的余额是100、所述待支付的数字资产是20为例,则从所述支付端所在账户中将所述待支付的数字资产划转给所述接收端所在账户之后,所述支付端所在账户的余额是80,所述接收端所在账户的余额是120;又例如,以所述服务端是第三方支付平台为例(如类似支付宝或微信支付的支付平台),则还可以从所述支付端所在账户对应的银行账户中划转所述待支付的数字资产,并且划转给所述接收端所在的账户。
以数字资产为字符串形式的数字资产为例,则所述服务端将所述待支付的数字资产更改为所述接收端所在账户下的数字资产。例如,在服务端记录有每个数字资产的属主,即在服务端对表征数字资产的字符串记录有相应的属主,则将所述待支付的数字资产的属主由所述支付端所在的账户更改为所述接收端所在的账户。
可以理解,本发明实施例中所述支付端所在账户,可以以多种方式进行确定,例如,在所述支付端生成的所述交易凭证中包括所述支付端的识别信息,即所述支付端的识别信息为可以用于识别所述支付端所在账户的识别信息,从而所述服务端可以根据所述支付端的识别信息确定所述支付端所在账户。
可以理解,本发明实施例中所述接收端所在账户,可以以多种方式进行确定,例如,在所述支付端生成的所述交易凭证中包括所述接收端的识别信息,即所述接收端的识别信息为可以用于识别所述接收端所在账户的识别信息,从而所述服务端可以根据所述接收端的识别信息确定所述接收端所在账户;又例如,所述服务端在接收到所述交易凭证时,获取发送方的账户识别信息,该账户识别信息为可以用于识别所述接收端所在账户的识别信息,即该账户识别信息为所述接收端的识别信息,则所述服务端根据该账户识别信息确定所述接收端所在的账户。
实际实施过程中,所述服务端(即智能合约服务端)与数字资产服务端可以分别部署,即所述服务端用于进行智能合约的处理,所述数字资产服务端用于数字资产的划转,则所述服务端可以将划转信息发送给所述数字资产服务端,以使得所述数字资产服务端将所述待支付的数字资产划转给所述接收端所在账户,其中,该划转信息可以包括所述待支付的数字资产、所述支付端的识别信息和所述接收端的识别信息。在所述数字资产服务端上的具体划转方式,可以参考上述分别以数字资产为余额形式和字符串形式的数字资产为例进行的举例说明。
将所述待支付的数字资产划转给所述接收端所在账户,在实际应用过程中,可以由所述指定智能合约程序触发执行,例如在执行所述指定智能合约程序时,还将所述支付端的识别信息、所述接收端的识别信息和所述待支付的数字资产作为所述指定智能合约程序的输入参数内容,由此当所述指定智能合约程序的执行确定达成合约条件,则所述指定智能合约程序触发执行将所述待支付的数字资产划转给所述接收端所在账户;也可以由所述服务端触发执行,例如,当所述指定智能合约程序的执行确定达成合约条件,则向所述服务端返回表示达成合约条件的信息,由此则所述服务端触发执行将所述待支付的数字资产划转给所述接收端所在账户。
由上实施过程可知,所述支付端生成符合指定智能合约程序的交易凭证,所述接收端根据所述交易凭证中的合约识别信息等信息验证所述交易凭证是否合法,并且将所述交易凭证发送给所述服务端,所述服务端则根据所述交易凭证中的合约识别信息调用并执行所述指定智能合约程序,将所述交易凭证中的合约参数内容作为执行所述指定智能合约程序的输入参数内容,从而在确定达成合约条件之后进行数字资产的划转。由此可知,本发明实施例产生的技术效果至少包括,第一,支付端和接收端只需要根据指定智能合约程序的合约识别信息和其输入参数格式要求就可以进行签约交易,而且不需与服务端保持在线状态,即在离线状态下就可以实现签约交易;第二,由于是在服务端上部署智能合约程序,而且支付端和接收端只需要根据指定智能合约程序的合约识别信息和其输入参数格式要求就可以进行签约交易,因此简化了支付端和接收端之间的签约交易过程;第三,同一个智能合约程序可以用于处理多个交易凭证,即同一个智能合约程序可以用于多个不同的支付端和接收端之间相互进行签约交易,从而可以避免为每一笔签约交易都开发智能合约程序。
需要说明的是,在本文中,术语“包括”、“包含”、“传递”、“发送”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者系统不仅包括那些要素,而且还可以包括没有明确列出的其他要素,或者是还可以包括为这种过程、方法、产品或者系统所固有的要素。
术语“第一”、“第二”、“第三”等(如果存在)仅用于将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。应该理解,这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
上述本发明的各实施例序号仅仅为了描述,不代表实施例的优劣。
可以以许多方式来实现本发明的方法、支付端、接收端和服务端。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、支付端、接收端和服务端。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种智能合约处理方法,其特征在于,应用于服务端,所述方法包括:
接收接收端发送的交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产;
根据所述合约识别信息调用并执行对应的智能合约程序,将所述合约参数内容作为执行所述智能合约程序的输入参数内容;
若所述智能合约程序的执行确定达成合约条件,则将所述待支付的数字资产划转给所述接收端所在账户。
2.根据权利要求1所述的方法,其特征在于,所述接收接收端发送的交易凭证之前还包括:
接收对所述智能合约程序的注册;
检测所述智能合约程序是否符合预先确定的合约规范;
若检测结果为是,则部署所述智能合约程序,包括建立所述合约识别信息与所述智能合约程序的对应关系,以使得根据所述合约识别信息和该对应关系能够调用并执行所述智能合约程序。
3.一种智能合约处理方法,其特征在于,应用于支付端,所述方法包括:
生成交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产,所述合约识别信息为用于识别指定智能合约程序的识别信息,所述待支付的数字资产为所述支付端要向接收端支付的数字资产;
将所述交易凭证发送给所述接收端,以使得所述接收端对所述交易凭证进行验证。
4.一种智能合约处理方法,其特征在于,应用于接收端,所述方法包括:
接收支付端传递的交易凭证,所述交易凭证包括合约识别信息、合约参数内容和待支付的数字资产;
对所述交易凭证进行验证,若实施的验证方式都确定验证通过,则确定所述交易凭证合法;
将所述交易凭证发送给服务端,以使得所述服务端根据所述交易凭证进行数字资产的划转;
其中,所述对所述交易凭证进行验证包括:
验证方式一,验证所述合约识别信息是否属于所述接收端预先设定的合约识别信息,若是,则确定验证通过。
5.根据权利要求4所述的方法,其特征在于,所述对所述交易凭证进行验证还包括:
验证方式二,验证所述合约参数内容是否符合预先设定的合约内容,若是,则确定验证通过;或/和,
验证方式三,所述交易凭证还包括接收端识别信息,验证所述接收端识别信息是否属于预先设定的接收端识别信息,若是,则确定验证通过;或/和,
验证方式四,所述接收支付端传递的交易凭证还包括接收所述支付端传递的对所述交易凭证进行数字签名生成的第一签名值,根据所述第一签名值对所述交易凭证进行数字签名验证。
6.一种服务端设备,其特征在于,所述服务端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如权利要求1至2中任一项所述的方法。
7.一种支付端设备,其特征在于,所述支付端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如权利要求3所述的方法。
8.一种接收端设备,其特征在于,所述接收端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如权利要求4至5中任一项所述的方法。
9.一种系统,其特征在于,所述系统包括服务端设备、支付端设备和接收端设备,其中,所述服务端设备包括如权利要求6所述的服务端设备,所述支付端设备包括如权利要求7所述的支付端设备;所述接收端设备包括如权利要求8所述的接收端设备。
10.一种存储介质,其特征在于,所述存储介质中存储有程序,所述程序用于实现包括权利要求1至2中任一项所述的方法,或者所述程序用于实现包括权利要求3所述的方法,或者所述程序用于实现包括权利要求4至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111331184.6A CN113971561A (zh) | 2021-11-12 | 2021-11-12 | 一种智能合约处理方法、支付端、接收端、服务端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111331184.6A CN113971561A (zh) | 2021-11-12 | 2021-11-12 | 一种智能合约处理方法、支付端、接收端、服务端及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113971561A true CN113971561A (zh) | 2022-01-25 |
Family
ID=79589671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111331184.6A Pending CN113971561A (zh) | 2021-11-12 | 2021-11-12 | 一种智能合约处理方法、支付端、接收端、服务端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113971561A (zh) |
-
2021
- 2021-11-12 CN CN202111331184.6A patent/CN113971561A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | E-commerce payment model using blockchain | |
US9530126B2 (en) | Secure mobile payment processing | |
JP4469376B2 (ja) | 移動電話、移動電話を用いてキャッシュレス取引を行うための方法及びコンピュータシステム | |
US20170046696A1 (en) | Automated account provisioning | |
JP2019507431A (ja) | 位置照合を使用する認証システムおよび方法 | |
US20120203663A1 (en) | Method and apparatus for authentication utilizing location | |
KR101842476B1 (ko) | 전자화폐를 이용한 전자 상거래방법 | |
WO2021082466A1 (zh) | 离线支付 | |
CN113545000A (zh) | 交付时交互的分散式处理 | |
CN107918868A (zh) | 结合区块链电子票券交易系统及其电子票券交易方法 | |
JP6667498B2 (ja) | リモート取引システム、方法およびpos端末 | |
US20130166410A1 (en) | Payment agency system, user terminal and market server | |
JP2014528616A (ja) | インターネット接続及び対応の端末を介した商業サイトにおける製品又はサービスの決済方法 | |
US20230325791A1 (en) | Proxied cross-ledger authentication | |
TW201317911A (zh) | 雲端信用卡交易系統及其交易方法 | |
KR20110107311A (ko) | 모바일 네트워크를 이용한 결제 서비스 시스템 및 그 방법, 그리고 이를 위한 컴퓨터 프로그램 | |
KR102263220B1 (ko) | 블록체인을 이용한 전자상거래 지불 방법 | |
Carbonell et al. | Secure multiparty payment with an intermediary entity | |
KR20220063107A (ko) | Qr 코드를 이용하여 모바일 페이먼트 서비스를 제공하는 방법 및 이를 이용한 페이먼트 서버 | |
CN113971561A (zh) | 一种智能合约处理方法、支付端、接收端、服务端及系统 | |
TWI758574B (zh) | 多維條碼行動支付方法及支付伺服系統 | |
US20220114585A1 (en) | System, method, and computer program product for secure, remote transaction authentication and settlement | |
US20070203847A1 (en) | Electronic payment of content | |
KR20070112103A (ko) | 워터마킹(또는 암호화 마킹)을 이용한 결제처리 시스템 | |
KR101172872B1 (ko) | 인증 번호를 활용한 안전 결제 방법 및 시스템 |
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 |