CN111369257A - 通过智能合约在区块链上实现资产代扣的方法与装置 - Google Patents
通过智能合约在区块链上实现资产代扣的方法与装置 Download PDFInfo
- Publication number
- CN111369257A CN111369257A CN202010153048.1A CN202010153048A CN111369257A CN 111369257 A CN111369257 A CN 111369257A CN 202010153048 A CN202010153048 A CN 202010153048A CN 111369257 A CN111369257 A CN 111369257A
- Authority
- CN
- China
- Prior art keywords
- token
- contract
- withholding
- deduction
- relay
- 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.)
- Granted
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/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/405—Establishing or using transaction specific rules
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种通过智能合约在区块链上实现资产代扣的方法与装置,方法包括以下步骤:S1:接收请求方已签名的代扣授权请求,代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量;S21:通过调用预先部署在区块链上的中继合约,验证请求方的签名,验证通过后将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,并根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币;S22:通过调用中继合约允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。本发明解决了区块链代扣支持范围小、功能局限、不灵活的问题,达到了代扣授权灵活、适用范围广、简单易执行的技术效果。
Description
技术领域
本发明属于区块链技术领域,尤其涉及通过智能合约在区块链上实现资产代扣的方法与装置。
背景技术
现实生活中有很多场景需要进行授权代扣,如信用卡自动还款、水电煤自动缴款等代扣场景,而应用区块链进行上述缴费交易,每一笔交易都需要用户进行签名,因此每一笔转账都需要用户进行签名确认,无法实现一次授权,多次转账。
如在以太坊区块链中,对于ERC 20(Ethereum Request for Comments 20)代币提供了一种标准的approve(授权)方法,approve方法是ERC 20标准协议的接口之一,对于ERC20代币,标准的approve方法可以授权某个地址或智能合约一个转账额度,只要总额不超过该额度,授权的地址或合约就可以对当前账户进行扣款,但是如果是非ERC 20代币,就无法通过上述approve方法进行授权。除此之外,如在EOS(Enterprise Operation System,商用分布式应用设计的一款区块链操作系统)区块链、TRON(波场)区块链中都同样存在上述类似的问题。
现有技术中阿里巴巴在CN 201910356838.7中公开了一种基于区块链的缴费代扣签约方法,其包括如下步骤:
接收用户提交的签约交易,所述签约交易用于授权支付系统为所述用户提供针对缴费订单的缴费代扣服务;所述缴费订单为该用户在第三方业务系统中的缴费订单;所述签约交易包含所述用户提交的三方协议签约信息;响应于所述签约交易,调用发布在区块链上的第一智能合约中声明的代扣校验逻辑,校验所述区块链中是否存证了所述支付系统与所述第三方业务系统之间签订的代扣协议;如果是,基于所述三方协议签约信息,创建授权所述支付系统为所述用户提供针对所述缴费订单的缴费代扣服务的三方协议,并将所述三方协议发布至所述区块链进行存证。
上述专利提案中基于区块链来实现用户与第三方业务系统、支付系统之间三方协议的签订,从而用户可通过签订三方协议来授权支付系统代替第三方业务系统对该用户进行扣款。但是上述方法只适用于具体区块链对应的允许代扣签约的代币,如上述方法应用于以太坊区块链中,以太坊的ERC 20协议允许项目方通过智能合约发行自己的代币,而ERC20是各个代币的标准接口,对于ERC 20代币可通过调用对应的智能合约进行代扣签约、代扣交易,但是对于以太坊区块链中的非ERC 20代币,则由于不符合ERC 20协议而无法调用对应的智能合约进行代扣签约、代扣交易,也就是在以太坊区块链上无法实现代扣的功能,同样地,在支持智能合约的其他区块链中,如EOS区块链、TRON区块链,区块链存在着不是所有的代币都能够实现代扣的问题。
发明内容
本发明为解决区块链代扣支持范围小、功能局限、不灵活的问题,提供了通过智能合约在区块链上实现资产代扣的方法与装置。
为解决上述问题,本发明的技术方案为:
一种通过智能合约在区块链上实现资产代扣的方法,包括以下步骤:
S1:接收请求方已签名的代扣授权请求,代扣授权请求用于授权代扣方对请求方进行代币代扣服务,代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量;
S21:通过调用预先部署在区块链上的中继合约,验证请求方的签名,验证通过后将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,并根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币;
S22:通过调用中继合约允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。
在其中一个实施例中,中继合约设有存款接口、授权接口;步骤S21具体包括以下步骤:
S211:通过调用预先部署在区块链上的中继合约的存款接口,验证请求方的签名,验证通过后请求对请求方的代币进行存款转账;
S212:中继合约调用目标合约的的目标转账接口,将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,其中,目标合约为管理转入代币类型对应代币的代币合约;
S213:通过调用中继合约的存款接口,根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币;
步骤S22具体为:通过调用中继合约的授权接口,允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。
在其中一个实施例中,步骤S213具体包括以下步骤:
调用中继合约的存款接口,判断当前转入的转入代币类型是否以前转入过中继合约:
若否,则中继合约调用创建合约的接口,创建一与转入代币类型对应的代币生成合约,代币生成合约设有代币生成接口,并且中继合约调用代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币;
若是,则中继合约直接调用转入代币类型对应的代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币。
在其中一个实施例中,在步骤S22执行之后,还包括:
S31:接收代扣方已签名的对请求方的代扣扣款请求;
S32:通过调用中继合约校验代扣扣款请求是否合法,若代扣扣款请求合法,则通过调用中继合约将请求方锁定在中继合约中的标准代币按照代扣扣款请求代扣转账至代扣方锁定在中继合约中的代扣方账户。
在其中一个实施例中,中继合约设有代扣转账接口,步骤S32具体包括以下步骤:
S321:通过调用中继合约的代扣转账接口,请求对请求方账户进行代扣扣款;
S322:通过调用中继合约的代扣转账接口,校验代扣方是否得到请求方的授权允许且代扣方的代扣总额是否超过授权扣款总额阈值,若代扣方得到授权且代扣总额未超过授权扣款总额阈值,则判定代扣扣款请求合法;
S323:若代扣扣款请求合法,则通过调用中继合约的代扣转账接口,将请求方锁定在中继合约中的标准代币按照代扣扣款请求代扣转账至代扣方锁定在中继合约中的代扣方账户。
在其中一个实施例中,中继合约设有取款接口,在步骤S32执行之后,还包括:
S41:接收代扣方已签名的取款请求;
S42:通过调用中继合约的取款接口验证代扣方的签名,验证通过后将锁定在中继合约中的代扣方账户中的标准代币转换为对应代扣代币类型的代币并从中继合约中取出。
在上述方法中,区块链为支持智能合约的区块链,如以太坊区块链、EOS区块链、TRON区块链等,都可以通过上述方法实现区块链中的各种代币的代扣,例如ETH、ATC、XUC、BAT等代扣代币类型的代币。
一种通过智能合约在区块链上实现资产代扣的装置,包括:
接收模块,用于接收请求方已签名的代扣授权请求,代扣授权请求用于授权代扣方对请求方进行代币代扣服务,代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量;
代扣授权模块,包括签名验证子模块、代币转换子模块、授权子模块,签名验证子模块用于通过调用预先部署在区块链上的中继合约验证请求方的签名,代币转换子模块用于通过调用中继合约将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,并根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币,授权子模块用于通过调用中继合约允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。
在其中一个实施例中,中继合约设有存款接口、授权接口;
代币转换子模块具体用于调用部署在区块链上的中继合约的存款接口,请求对请求方的代币进行存款转账,并且中继合约调用目标合约的目标转账接口,将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,以及通过调用中继合约的存款接口,根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币,其中,目标合约为管理转入代币类型对应代币的代币合约;
授权子模块具体用于通过调用中继合约的授权接口,允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。
在其中一个实施例中,代币转换子模块包括代币生成单元,代币生成单元用于调用中继合约的存款接口,判断当前转入的转入代币类型是否以前转入过中继合约:
若否,则中继合约调用创建合约的接口,创建一与转入代币类型对应的代币生成合约,代币生成合约设有代币生成接口,并且中继合约调用代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币;
若是,则中继合约直接调用转入代币类型对应的代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币。
在其中一个实施例中,接收模块还用于接收代扣方已签名的对请求方的代扣扣款请求,装置还包括:
代扣扣款模块,包括校验子模块、代扣执行子模块,校验子模块用于通过调用中继合约校验代扣扣款请求是否合法,代扣执行子模块用于通过调用中继合约将请求方锁定在中继合约中的标准代币按照代扣扣款请求代扣转账至代扣方锁定在中继合约中的代扣方账户。
在其中一个实施例中,中继合约设有代扣转账接口;
校验子模块具体用于通过调用中继合约的代扣转账接口,请求对请求方账户进行代扣扣款,并且通过调用中继合约的代扣转账接口,校验代扣方是否得到请求方的授权允许且代扣方的代扣总额是否超过授权扣款总额阈值,若代扣方得到授权且代扣总额未超过授权扣款总额阈值,则判定代扣扣款请求合法;
代扣执行子模块用于通过调用中继合约的代扣转账接口,将请求方锁定在中继合约中的标准代币按照代扣扣款请求代扣转账至代扣方锁定在中继合约中的代扣方账户。
在其中一个实施例中,中继合约设有取款接口,接收模块还用于接收代扣方已签名的取款请求,装置还包括:
取款模块,用于通过调用中继合约的取款接口,验证代扣方的签名,验证通过后将锁定在中继合约中的代扣方账户中的标准代币转换为对应代扣代币类型的代币并从中继合约中取出。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述通过智能合约在区块链上实现资产代扣的方法。
一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述通过智能合约在区块链上实现资产代扣的方法。
本发明与现有技术相比具有以下的优点和积极效果:
1)本发明预先在支持智能合约的区块链上部署一支持对应具体区块链授权代扣的中继合约,其中,通过调用中继合约可将请求方一定数量、指定代扣代币类型的代币转入到中继合约中,中继合约自动将转入锁定在中继合约中的代币对应生成等量的标准代币,如此将不能授权代扣的代币包裹转换成了可以授权代扣的标准代币,该标准代币的类型与转入的代扣代币类型对应,一旦用户在中继合约中转入生成标准代币,中继合约就允许对应的代扣方对请求方账户中的标准代币进行代扣,本发明适用于如以太坊区块链、EOS区块链、TRON区块链等支持智能合约的区块链,可以实现对区块链中的各种代币进行代扣,解决了区块链代扣授权支持范围小、功能局限、不灵活的问题,达到了代扣授权灵活、适用范围广、简单易执行的技术效果;
2)本发明中,当代扣方需要对请求方账户进行代扣扣款时,只要通过中继合约对代扣扣款请求进行校验,检验满足代扣方得到授权且代扣总额不超过授权扣款总额阈值,则校验合法,代扣方就可在中继合约中进行代扣代币类型对应的标准代币代扣,同时在代扣方进行代扣转账时,请求方也无需进行签名确认,实现了一次授权、多次转账的功能,当代扣方将代扣扣款的代币从中继合约中取出时,也只要调用中继合约将扣款的标准代币转换为原来的代扣代币类型就可以从中继合约中取出,达到了代扣扣款灵活方便、适用范围广的技术效果。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明一个实施例中通过智能合约在区块链上实现资产代扣的方法的代扣授权流程图;
图2为本发明一个实施例中通过智能合约在区块链上实现资产代扣的方法的代扣授权具体流程图;
图3为本发明一个实施例中通过智能合约在区块链上实现资产代扣的方法的代扣授权执行过程;
图4为本发明一个实施例中通过智能合约在区块链上实现资产代扣的方法的代扣扣款与取款执行过程;
图5为本发明一个实施例中通过智能合约在区块链上实现资产代扣的方法的代扣扣款具体流程图;
图6为本发明一个实施例中通过智能合约在区块链上实现资产代扣的方法的取款具体流程图;
图7为本发明一个实施例中通过智能合约在区块链上实现资产代扣的装置的整体结构框图。
附图标记说明:
1-接收模块;2-代扣授权模块;21-签名验证子模块;22-代币转换子模块;23-授权子模块;3-代扣扣款模块;31-校验子模块;32-代扣执行子模块;4-取款模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
区块链简单地说就是一种去中心化的分布式账本数据库,区块链技术本质上是一种数据库技术,每个区块就像一个硬盘,把信息全部保存下来,再通过密码学技术进行加密,这些被保存的信息就无法被篡改。区块链具有去中心化、开放性、独立性、安全性、匿名性的特征,可以应用到生活的众多方面,其中,在众多应用中,交易、支付等是区块链的重要应用之一,由于区块链去中心化的特点,可以帮助点对点交易,让支付和交易变得更加高效、更加便捷,区块链平台允许创建在满足某些条件时变为活动的智能合约,这意味着当交易双方同意满足其条件时,可以释放自动付款。
智能合约是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许我们在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。智能合约包含了有关交易的所有信息,只有在满足要求后才会执行结果操作。智能合约和传统纸质合约的区别在于智能合约是由计算机生成的。而智能合约根据功能的逻辑来编写和运作,区块链网络使用的智能合约,只要满足输入要求,也就是说只要代码编写的要求被满足,合约中的义务将在安全和信任的网络中得到执行。
但是在具体一区块链上的各种代币若标准不统一,那么很多各种代币之间的兼容就很难实现,以以太坊为例,以太坊是一个分布式的智能合约平台,可以分发代币(Token),为了使以太坊的各种代币之间标准能够统一、互相能够很好的兼容,ERC 20标准被提出,使用这种规则的代币,即ERC 20代币,都能够很好地兼容各种以太坊钱包,如此,在很多应用场景下,ERC 20代币都可以基于ERC 20标准进行交易流通。
在现实生活中有许多场景需要进行授权代扣,如信用卡自动还款、水电煤自助缴款等代扣场景,对于代扣应用场景中存在着这么一个问题,还是以以太坊为例,虽然ERC 20标准可以很好的使得以太坊区块链中的代币兼容性更好,其中,ERC 20代币提供了一种标准的approve方法,可以授权某个地址或智能合约一个转账额度,只要总额不超过该额度,授权的地址或合约就可以对当前账户进行扣款,但是如果是非ERC 20代币,就无法通过上述approve方法进行授权,也就说,对于以太坊区块链而言,非ERC 20代币无法实现日常生活中的代扣功能。上述以以太坊区块链为例介绍了本发明所要解决的技术问题,但是本发明不仅限于此,除此之外,如在EOS区块链、TRON区块链等都同样存在上述类似的问题。
为解决代扣场景中的上述问题,本发明预先部署一个支持具体区块链对应的常用标准的智能合约,通过调用该智能合约来将无法进行代扣授权、代扣扣款的代币对应转换成常规标准下的标准代币,以进行代扣授权、代扣扣款的功能。
需要说明的是,本发明后续举例说明的区块链均以以太坊为例,但这仅仅是本发明通过智能合约实现在区块链上实现资产代扣的一种具体应用场景,并非用来局限本发明,更为广泛的,只要支持智能合约的区块链都可以基于本发明所公开的技术方案实现在区块链上资产代扣,例如EOS区块链、TRON区块链等,这些都属于本发明的保护范围。
第一实施例
参看图1,本发明提出了一种如图1所示的实施例流程图的通过智能合约在区块链上实现资产代扣的方法,包括以下步骤:
S1:接收请求方已签名的代扣授权请求,代扣授权请求用于授权代扣方对请求方进行代币代扣服务,代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量;
S21:通过调用预先部署在区块链上的中继合约,验证请求方的签名,验证通过后将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,并根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币;
S22:通过调用中继合约允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。
现以以太坊区块链为例对本实施例进行详细说明,但不仅限于此:
本实施例的通过智能合约在区块链上实现资产代扣的方法,应用于区块链节点,节点指的是区块链网络中的负责维护网络运行的终端,可以为手机、矿机、服务器、计算机等等,这些终端都可以通过本申请的方法,实现日常生活中的代扣功能。
本实施例的中继合约为预先部署在区块链上的智能合约,中继合约预先申明有本实施例方法对应的资产代扣对应的具体步骤的逻辑,调用中继合约即是调用中继合约中申明的步骤逻辑,以执行具体的资产代扣,在以太坊区块链中,较优地,本实施例的中继合约具体为支持ERC 20标准的智能合约,因为ERC 20标准为本实施例以太坊区块链中最常用的标准,支持ERC 20标准的中继合约可以充分兼容以太坊区块链中的资产代扣。
1)具体介绍步骤S1
代扣授权请求为请求方节点生成发送的请求,请求方可通过与区块链节点对接的客户端所提供的应用发起代扣授权请求,授权代扣方对请求方进行代币代扣,其中,代扣授权请求的签名通过请求方的私钥进行签名,具体可以为代扣授权请求计算一个散列值,然后通过请求方的私钥进行加密实现信息的签名,代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量,授权扣款总额阈值为代扣方所能代扣的总额,超出总额就不能继续进行代扣,代扣代币类型为请求方所选择执行代扣的代币类型,请求方可以选择其拥有的代币类型中的一种作为代扣代币类型,转入代币数量为请求方为代扣服务预先存储的代币数量,以供代扣方进行代扣扣款。
较优地,代扣授权请求还可以包括授权期限或授权次数等,用以限定此次授权代扣的有效时间段或代扣执行次数。
2)具体介绍步骤S21、S22
部署在以太坊区块链上的中继合约申明有存款接口、授权接口,这些接口集成了代扣授权请求对应的代扣授权逻辑步骤。
本实施例存款接口用于将转入的代扣代币类型相对应的代币转换为可以支持资产代扣的标准代币,具体而言,本实施例应用于以太坊区块链中,存款接口可以将以太坊或其他非ERC 20代币转换为符合ERC 20协议的标准代币,标准代币可理解为由非ERC 20代币经中继合约包裹形成符合ERC 20协议的中间代币,该标准代币用于代替非ERC 20代币进行代扣授权、代扣扣款,不同代扣代币类型的代币转换得到的标准代币类型不同,但是代扣授权以及后续代扣扣款的过程是一样,后续代扣扣款后的标准代币可经中继合约再转换为原来的非ERC 20代币,如此实现以太坊中各种代币的代扣功能。
具体地,参看图2,步骤S21中通过调用本实施例上述的存款接口执行如下具体的步骤:
S211:调用预先部署在区块链上的中继合约的存款接口,通过中继合约先进行请求方的签名验证,验证代扣授权请求中的私钥与中继合约中请求方的公钥是否匹配,具体可以接收到请求方发送的代扣授权请求后,利用中继合约请求方的公钥解密对应的上述中私钥加密后的散列值,将公钥解密的结果与最初散列值进行比较,若两者相符,验证通过则请求对请求方的代币进行存款转账;
S212:当接收到对请求方的代币进行存款转账的请求,中继合约调用目标合约的目标转账接口,执行具体的转账操作,将请求方的个人账户中的指定转入代币数量、指定代扣代币类型的代币转账至中继合约中,其中,指定转入代币数量优选的可以至少为与授权扣款总额阈值等额的代币,以保证代扣不会出现余额不足的情况,其中,目标合约为管理转入代币类型对应代币的代币合约;
S213:通过调用中继合约的存款接口,将转入锁定在中继合约中的代币,自动生成等量的符合ERC 20标准的标准代币,并且将得到的标准代币转入到指定的合约账户中,及请求方账户。
具体地,步骤S213具体包括以下步骤:
调用中继合约的存款接口,判断当前转入的转入代币类型是否以前转入过中继合约:
若否,则中继合约调用创建合约的接口,创建一与转入代币类型对应的代币生成合约,代币生成合约设有代币生成接口,并且中继合约调用代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币;
若是,则中继合约直接调用转入代币类型对应的代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币。
为更清楚地理解以太坊中非ERC 20代币是如何转换为符合ERC 20协议的标准代币,现举一例子,以以太坊区块链发行的ATC(All Things Connect,万通币)为例:
ATC对应的合约地址假定为A,当中继合约调用A(ATC代币合约)的目标转账方法将用户的ATC转到中继合约中之后,中继合约首先会判断以前是否转入过ATC:
若没有转入过ATC,即中继合约中第一次转入ATC代币,则中继合约会调用创建合约(系统方法)的接口,先创建一个WATC合约(代币生成合约),本实施例将该创建的该合约定义为WATC合约,显然地,该定义不仅限于此,同样地,其他代币也可以如此进行对应的定义,创建WATC合约之后,中继合约可调用该WATC合约的createToken方法(代币生成接口),在中继合约中合约账户中根据ERC20协议生成与转入ATC代币数量等量符合ERC20协议的WATC代币,即本实施例中的标准代币,同时,在以后只要转入的是ATC代币,WATC合约还能继续被调用来生成WATC代币;
若以前已经转入过ATC,则可以直接调用WATC合约的createToken方法,将用户的账户(地址)生成等量的WATC代币。
以此类推,转入中继合约的代币不同,则会调用不同代币合约的createToken方法,生成不同代币对应的标准代币。
本实施例在以太坊区块链中的授权接口为增强的ERC 20标准接口,兼容ERC 20标准的approve方法的特性,其中,本实施例基于ERC标准接口中的approve方法的接口,还提供了额外的功能:可以将请求方转入锁定在中继合约中的代币授权给代扣方的账户,ERC20标准的approve方法只能实现对当前代币进行授权。具体而言,本实施的授权接口授权代扣方主要传递了两个信息,一个是代扣授权请求中的授权扣款总额阈值,另一个是可以代扣的标准代币的代币名称或类型,如此代扣方可以依据上述两个信息进行指定请求方账户的扣款。
具体地,参看图2,步骤S22中通过调用本实施例的授权接口执行如下具体的步骤:允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。优选地,允许的代扣方可以是一个或多个,可以对中继合约的同一请求方账户进行不同代扣方的不同代扣服务,如此,实现较优的代扣功能。优选地,当请求方账户中的代扣代币余额不足时,请求方只要请求再次执行上述的步骤S21就可以实现请求方账户的充值,不必要重新再次发起代扣授权请求。
参看图3,本实施例再以以太坊区块链为例,结合请求方用户A授权代扣方用户B授权代扣用户A的代币过程进行详细介绍:
用户A通过其计算机等终端设备上与以太坊区块链对接的客户端上的APP进行代扣授权信息的输入以及本地签名,并向部署以太坊区块链上的中继合约发送代扣授权请求,其中,请求可通过服务器进行转发至中继合约;
中继合约接收代扣授权请求并进行处理:
调用中继合约的存款请求(deposit),验证请求方的签名,验证通过后请求对请求方的代币进行转账;
中继合约调用转账的代币对应的目标合约的目标转账接口(transfer-1),将请求方的非ERC 20代币转入锁定至中继合约中,并请求方账户中自动生成等量对应的标准代币;
调用中继合约的授权请求(approve),授权用户B可以代扣用户A锁定在中继合约中的代币,即请求方账户中的标准代币。
本实施例预先在支持智能合约的区块链上部署一支持对应具体区块链授权代扣的中继合约,其中,通过调用中继合约可将请求方一定数量、指定代扣代币类型的代币转入到中继合约中,中继合约自动将转入锁定在中继合约中的代币对应生成等量的标准代币,如此将不能授权代扣的代币包裹转换成了可以授权代扣的标准代币,该标准代币的类型与转入的代扣代币类型对应,一旦用户在中继合约中转入生成标准代币,中继合约就允许对应的代扣方对请求方账户中的标准代币进行代扣,本发明适用于如以太坊区块链、EOS区块链、TRON区块链等支持智能合约的区块链,可以实现对区块链中的各种代币进行代扣,解决了区块链代扣授权支持范围小、功能局限、不灵活的问题,达到了代扣授权灵活、适用范围广、简单易执行的技术效果。
可选的,参看图4和图5,中继合约设有代扣转账接口(transfer-2),在步骤S22执行之后,还包括:
S31:接收代扣方已签名的对请求方的代扣扣款请求;
S32:通过调用中继合约校验代扣扣款请求是否合法,若代扣扣款请求合法,则通过调用中继合约将请求方锁定在中继合约中的标准代币按照代扣扣款请求代扣转账至代扣方锁定在中继合约中的代扣方账户。
本实施例在以太坊区块链中的代扣转账接口为增强的ERC 20标准接口,兼容ERC20标准的transfer方法,其中,本实施例的转账接口除了执行中继合约的代扣代币转账的功能外,还可以检验代扣方是否得到授权。
本实施例的步骤S31中,代扣扣款请求为代扣方节点生成发送的请求,与请求方发送请求相同的,代扣方可通过与区块链节点对接的客户端所提供的应用发起代扣扣款请求,请求对请求方账户进行代扣扣款,其中,代扣扣款请求的签名通过代扣方的私钥进行签名,具体过程与上述代扣授权请求的签名相同,在此不再赘述。
本实施例的步骤32中,基于中继合约的代扣转账接口实现中继合约内合约账户之间的转账,其中,参看图4和图5,具体包括以下步骤:
S321:当接收到代扣扣款请求,先通过调用中继合约的代扣转账接口,请求对请求方账户进行代扣扣款;
S322:通过调用中继合约的代扣转账接口,可以先校验代扣方是否得到请求方的授权允许,与代扣收授权请求的签名验证相似的,该校验也基于代扣方的私钥与中继合约的公钥进行校验,若校验相匹配,则说明代扣方得到了请求方的代扣授权允许,其次,还需校验代扣方的代扣总额是否超过授权扣款总额阈值,中继合约中每一笔代扣都会留下对应的代扣凭证,调用中继合约可以查询这些代扣凭证检验对应的代扣方的代扣总额是否超过授权扣款总额阈值,若代扣方得到授权且代扣总额未超过授权扣款总额阈值,则判定代扣扣款请求合法;
S323:在代扣扣款请求合法的情况下,可以调用中继合约的代扣转账接口,在中继合约中进行合约账户的代扣转账,具体的根据代扣扣款请求中的代币名称、扣款数量将请求方锁定在中继合约中的标准代币转账至代扣方锁定在中继合约中的代扣方账户,代扣方账户与请求方账户均为中继合约中的合约账户,用于存储代扣的标准代币。
可选的,参看图4与图6,中继合约设有取款接口(withdraw),在步骤S32执行之后,还包括:
S41:接收代扣方已签名的取款请求;
S42:通过调用中继合约的取款接口验证代扣方的签名,验证通过后将锁定在中继合约中的代扣方账户中的标准代币转换为对应代扣代币类型的代币并从中继合约中取出。
本实施例的步骤S41中,本实施例的取款请求实际上可以代扣方发起也可以请求方发起,代扣方的取款请求用于对代扣扣款得到锁定在中继合约中的标准代币进行取款,请求方的取款请求用于对请求方转入锁定在中继合约中的标准代币进行取款,两者对应的取款过程是相同的,只是取款的账户不同。取款请求的签名与上述代扣授权请求、代扣扣款请求中的签名方式相同,在此不再赘述。
本实施例的取款接口用于将锁定在中继合约中的标准代币转换为其原本对应的代扣代币类型并从中继合约中提取到个人的账户中,具体而言,本实施应用于以太坊区块链中,取款接口可以将符合ERC 20协议的标准代币转换为ETH或其他非ERC 20代币,该过程实际可以理解为上述存款接口中将ETH或其他非ERC 20代币转换为符合ERC 20协议的标准代币的逆过程,转换得到代币类型与对应的转入代币类型相同。上述中对于代扣方的签名验证没有代扣扣款请求中的签名验证方式相同。
本实施例中,当代扣方需要对请求方账户进行代扣扣款时,只要通过中继合约对代扣扣款请求进行校验,检验满足代扣方得到授权且代扣总额不超过授权扣款总额阈值,则校验合法,代扣方就可在中继合约中进行代扣代币类型对应的标准代币代扣,同时在代扣方进行代扣转账时,请求方也无需进行签名确认,实现了一次授权、多次转账的功能,当代扣方将代扣扣款的代币从中继合约中取出时,也只要调用中继合约将扣款的标准代币转换为原来的代扣代币类型就可以从中继合约中取出,达到了代扣扣款灵活方便、适用范围广的技术效果。
第二实施例
参看图7,本发明提出了一种基于实施例一的通过智能合约在区块链上实现资产代扣的装置,装置包括:
接收模块1,用于接收请求方已签名的代扣授权请求,代扣授权请求用于授权代扣方对请求方进行代币代扣服务,代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量;
代扣授权模块2,包括签名验证子模块21、代币转换子模块22、授权子模块23,签名验证子模块21用于通过调用预先部署在区块链上的中继合约验证请求方的签名,代币转换子模块22用于通过调用中继合约将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,并根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币,授权子模块23用于通过调用中继合约允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。
可选的,中继合约设有存款接口、授权接口;
代币转换子模块22具体用于调用部署在区块链上的中继合约的存款接口,请求对请求方的代币进行存款转账,并且中继合约调用目标合约的目标转账接口,将与代扣代币类型、转入代币数量所对应的请求方的代币转入至中继合约中,以及通过调用中继合约的存款接口,根据代扣代币类型在中继合约的请求方账户中生成对应等量的标准代币,其中,目标合约为管理转入代币类型对应代币的代币合约;
授权子模块23具体用于通过调用中继合约的授权接口,允许代扣方在请求方账户中代扣不超过授权扣款总额阈值且与代扣代币类型对应的标准代币。
进一步地,代币转换子模块包括代币生成单元,代币生成单元用于调用中继合约的存款接口,判断当前转入的转入代币类型是否以前转入过中继合约:
若否,则中继合约调用创建合约的接口,创建一与转入代币类型对应的代币生成合约,代币生成合约设有代币生成接口,并且中继合约调用代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币;
若是,则中继合约直接调用转入代币类型对应的代币生成合约的代币生成接口,根据代扣代币类型在中继合约的请求方账户中对应生成与转入代币数量等量的标准代币。
本实施例预先在支持智能合约的区块链上部署一支持对应具体区块链授权代扣的中继合约,其中,通过调用中继合约可将请求方一定数量、指定代扣代币类型的代币转入到中继合约中,中继合约自动将转入锁定在中继合约中的代币对应生成等量的标准代币,如此将不能授权代扣的代币包裹转换成了可以授权代扣的标准代币,该标准代币的类型与转入的代扣代币类型对应,一旦用户在中继合约中转入生成标准代币,中继合约就允许对应的代扣方对请求方账户中的标准代币进行代扣,本发明适用于如以太坊区块链、EOS区块链、TRON区块链等支持智能合约的区块链,可以实现对区块链中的各种代币进行代扣,解决了区块链代扣授权支持范围小、功能局限、不灵活的问题,达到了代扣授权灵活、适用范围广、简单易执行的技术效果。
可选的,接收模块1还用于接收代扣方已签名的对请求方的代扣扣款请求,中继合约还设有代扣转账接口,装置还包括:
代扣扣款模块3,包括校验子模块31、代扣执行子模块32,校验子模块31用于通过调用中继合约校验代扣扣款请求是否合法,代扣执行子模块32用于通过调用中继合约将请求方锁定在中继合约中的标准代币按照代扣扣款请求代扣转账至代扣方锁定在中继合约中的代扣方账户。
校验子模块31具体用于通过调用中继合约的代扣转账接口,请求对请求方账户进行代扣扣款,并且通过调用中继合约的代扣转账接口,校验代扣方是否得到请求方的授权允许且代扣方的代扣总额是否超过授权扣款总额阈值,若代扣方得到授权且代扣总额未超过授权扣款总额阈值,则判定代扣扣款请求合法;
代扣执行子模块32用于通过调用中继合约的代扣转账接口,将请求方锁定在中继合约中的标准代币按照代扣扣款请求代扣转账至代扣方锁定在中继合约中的代扣方账户。
可选的,中继合约设有取款接口,接收模块1还用于接收代扣方已签名的取款请求,装置还包括:
取款模块4,用于通过调用中继合约的取款接口,验证代扣方的签名,验证通过后将锁定在中继合约中的代扣方账户中的标准代币转换为对应代扣代币类型的代币并从中继合约中取出。
本实施例中,当代扣方需要对请求方账户进行代扣扣款时,只要通过中继合约对代扣扣款请求进行校验,检验满足代扣方得到授权且代扣总额不超过授权扣款总额阈值,则校验合法,代扣方就可在中继合约中进行代扣代币类型对应的标准代币代扣,同时在代扣方进行代扣转账时,请求方也无需进行签名确认,实现了一次授权、多次转账的功能,当代扣方将代扣扣款的代币从中继合约中取出时,也只要调用中继合约将扣款的标准代币转换为原来的代扣代币类型就可以从中继合约中取出,达到了代扣扣款灵活方便、适用范围广的技术效果。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
第三实施例
本发明还提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述第一实施例所提及的通过智能合约在区块链上实现资产代扣的方法。
第四实施例
本发明提出了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述第一实施例中所提及的通过智能合约在区块链上实现资产代扣的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种通过智能合约在区块链上实现资产代扣的方法,其特征在于,所述方法包括以下步骤:
S1:接收请求方已签名的代扣授权请求,所述代扣授权请求用于授权代扣方对所述请求方进行代币代扣服务,所述代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量;
S21:通过调用预先部署在区块链上的中继合约,验证所述请求方的签名,验证通过后将与所述代扣代币类型、所述转入代币数量所对应的所述请求方的代币转入至所述中继合约中,并根据所述代扣代币类型在所述中继合约的请求方账户中生成对应等量的标准代币;
S22:通过调用所述中继合约允许所述代扣方在所述请求方账户中代扣不超过所述授权扣款总额阈值且与所述代扣代币类型对应的所述标准代币。
2.如权利要求1所述的通过智能合约在区块链上实现资产代扣的方法,其特征在于,所述中继合约设有存款接口、授权接口;
所述步骤S21具体包括以下步骤:
S211:通过调用预先部署在区块链上的所述中继合约的所述存款接口,验证所述请求方的签名,验证通过后请求对所述请求方的代币进行存款转账;
S212:所述中继合约调用目标合约的的目标转账接口,将与所述代扣代币类型、所述转入代币数量所对应的所述请求方的代币转入至所述中继合约中,其中,所述目标合约为管理所述转入代币类型对应代币的代币合约;
S213:通过调用所述中继合约的所述存款接口,根据所述代扣代币类型在所述中继合约的请求方账户中生成对应等量的标准代币;
所述步骤S22具体为:通过调用所述中继合约的授权接口,允许代扣方在所述请求方账户中代扣不超过所述授权扣款总额阈值且与所述代扣代币类型对应的所述标准代币。
3.如权利要求2所述的通过智能合约在区块链上实现资产代扣的方法,其特征在于,所述步骤S213具体包括以下步骤:
调用所述中继合约的所述存款接口,判断当前转入的所述转入代币类型是否以前转入过所述中继合约:
若否,则所述中继合约调用创建合约的接口,创建一与所述转入代币类型对应的代币生成合约,所述代币生成合约设有代币生成接口,并且所述中继合约调用所述代币生成合约的所述代币生成接口,根据所述代扣代币类型在所述中继合约的请求方账户中对应生成与所述转入代币数量等量的所述标准代币;
若是,则所述中继合约直接调用所述转入代币类型对应的所述代币生成合约的所述代币生成接口,根据所述代扣代币类型在所述中继合约的请求方账户中对应生成与所述转入代币数量等量的所述标准代币。
4.如权利要求1所述的通过智能合约在区块链上实现资产代扣的方法,其特征在于,在所述步骤S22执行之后,还包括:
S31:接收所述代扣方已签名的对所述请求方的代扣扣款请求;
S32:通过调用所述中继合约校验所述代扣扣款请求是否合法,若所述代扣扣款请求合法,则通过调用所述中继合约将所述请求方锁定在所述中继合约中的标准代币按照所述代扣扣款请求代扣转账至所述代扣方锁定在所述中继合约中的代扣方账户。
5.如权利要求4所述的通过智能合约在区块链上实现资产代扣的方法,其特征在于,所述中继合约设有代扣转账接口,所述步骤S32具体包括以下步骤:
S321:通过调用所述中继合约的所述代扣转账接口,请求对所述请求方账户进行代扣扣款;
S322:通过调用所述中继合约的所述代扣转账接口,校验所述代扣方是否得到所述请求方的授权允许且所述代扣方的代扣总额是否超过所述授权扣款总额阈值,若所述代扣方得到授权且所述代扣总额未超过所述授权扣款总额阈值,则判定所述代扣扣款请求合法;
S323:若所述代扣扣款请求合法,则通过调用所述中继合约的所述代扣转账接口,将所述请求方锁定在所述中继合约中的标准代币按照所述代扣扣款请求代扣转账至所述代扣方锁定在所述中继合约中的代扣方账户。
6.如权利要求4或5所述的通过智能合约在区块链上实现资产代扣的方法,其特征在于,所述中继合约设有取款接口,在所述步骤S32执行之后,还包括:
S41:接收所述代扣方已签名的取款请求;
S42:通过调用所述中继合约的所述取款接口验证所述代扣方的签名,验证通过后将锁定在所述中继合约中的所述代扣方账户中的所述标准代币转换为对应所述代扣代币类型的代币并从所述中继合约中取出。
7.一种通过智能合约在区块链上实现资产代扣的装置,其特征在于,所述装置包括:
接收模块,用于接收请求方已签名的代扣授权请求,所述代扣授权请求用于授权代扣方对所述请求方进行代币代扣服务,所述代扣授权请求包括授权扣款总额阈值、代扣代币类型、转入代币数量;
代扣授权模块,包括签名验证子模块、代币转换子模块、授权子模块,所述签名验证子模块用于通过调用预先部署在区块链上的中继合约验证所述请求方的签名,所述代币转换子模块用于通过调用所述中继合约将与所述代扣代币类型、所述转入代币数量所对应的所述请求方的代币转入至所述中继合约中,并根据所述代扣代币类型在所述中继合约的请求方账户中生成对应等量的标准代币,所述授权子模块用于通过调用所述中继合约允许所述代扣方在所述请求方账户中代扣不超过所述授权扣款总额阈值且与所述代扣代币类型对应的所述标准代币。
8.如权利要求7所述的通过智能合约在区块链上实现资产代扣的装置,其特征在于,所述中继合约设有存款接口、授权接口;
所述代币转换子模块具体用于调用部署在区块链上的所述中继合约的所述存款接口,请求对所述请求方的代币进行存款转账,并且所述中继合约调用目标合约的目标转账接口,将与所述代扣代币类型、所述转入代币数量所对应的所述请求方的代币转入至所述中继合约中,以及通过调用所述中继合约的所述存款接口,根据所述代扣代币类型在所述中继合约的请求方账户中生成对应等量的标准代币,其中,所述目标合约为管理所述转入代币类型对应代币的代币合约;
所述授权子模块具体用于通过调用所述中继合约的授权接口,允许代扣方在所述请求方账户中代扣不超过所述授权扣款总额阈值且与所述代扣代币类型对应的所述标准代币。
9.如权利要求8所述的通过智能合约在区块链上实现资产代扣的装置,其特征在于,所述代币转换子模块包括代币生成单元,所述代币生成单元用于调用所述中继合约的所述存款接口,判断当前转入的所述转入代币类型是否以前转入过所述中继合约:
若否,则所述中继合约调用创建合约的接口,创建一与所述转入代币类型对应的代币生成合约,所述代币生成合约设有代币生成接口,并且所述中继合约调用所述代币生成合约的所述代币生成接口,根据所述代扣代币类型在所述中继合约的请求方账户中对应生成与所述转入代币数量等量的所述标准代币;
若是,则所述中继合约直接调用所述转入代币类型对应的所述代币生成合约的所述代币生成接口,根据所述代扣代币类型在所述中继合约的请求方账户中对应生成与所述转入代币数量等量的所述标准代币。
10.如权利要求7所述的通过智能合约在区块链上实现资产代扣的装置,其特征在于,所述接收模块还用于接收所述代扣方已签名的对所述请求方的代扣扣款请求,所述装置还包括:
代扣扣款模块,包括校验子模块、代扣执行子模块,所述校验子模块用于通过调用所述中继合约校验所述代扣扣款请求是否合法,所述代扣执行子模块用于通过调用所述中继合约将所述请求方锁定在所述中继合约中的标准代币按照所述代扣扣款请求代扣转账至所述代扣方锁定在所述中继合约中的代扣方账户。
11.如权利要求10所述的通过智能合约在区块链上实现资产代扣的装置,其特征在于,所述中继合约设有代扣转账接口;
所述校验子模块具体用于通过调用所述中继合约的所述代扣转账接口,请求对所述请求方账户进行代扣扣款,并且通过调用所述中继合约的所述代扣转账接口,校验所述代扣方是否得到所述请求方的授权允许且所述代扣方的代扣总额是否超过所述授权扣款总额阈值,若所述代扣方得到授权且所述代扣总额未超过所述授权扣款总额阈值,则判定所述代扣扣款请求合法;
所述代扣执行子模块用于通过调用所述中继合约的所述代扣转账接口,将所述请求方锁定在所述中继合约中的标准代币按照所述代扣扣款请求代扣转账至所述代扣方锁定在所述中继合约中的代扣方账户。
12.如权利要求10或11所述的通过智能合约在区块链上实现资产代扣的装置,其特征在于,所述中继合约设有取款接口,所述接收模块还用于接收所述代扣方已签名的取款请求,所述装置还包括:
取款模块,用于通过调用所述中继合约的所述取款接口,验证所述代扣方的签名,验证通过后将锁定在所述中继合约中的所述代扣方账户中的所述标准代币转换为对应所述代扣代币类型的代币并从所述中继合约中取出。
13.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述的通过智能合约在区块链上实现资产代扣的方法。
14.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项所述的通过智能合约在区块链上实现资产代扣的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010153048.1A CN111369257B (zh) | 2020-03-06 | 2020-03-06 | 通过智能合约在区块链上实现资产代扣的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010153048.1A CN111369257B (zh) | 2020-03-06 | 2020-03-06 | 通过智能合约在区块链上实现资产代扣的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111369257A true CN111369257A (zh) | 2020-07-03 |
CN111369257B CN111369257B (zh) | 2023-01-20 |
Family
ID=71208594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010153048.1A Active CN111369257B (zh) | 2020-03-06 | 2020-03-06 | 通过智能合约在区块链上实现资产代扣的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111369257B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563743A (zh) * | 2020-07-15 | 2020-08-21 | 百度在线网络技术(北京)有限公司 | 一种区块链的转账处理方法、装置、设备和介质 |
CN113177792A (zh) * | 2021-05-11 | 2021-07-27 | 上海商学院 | 通过智能合约实现代币池多账户流处理的方法与装置 |
CN113791764A (zh) * | 2021-09-09 | 2021-12-14 | 四川启睿克科技有限公司 | 自动监控波场区块链账户剩余能量并报警的方法 |
WO2022267395A1 (zh) * | 2021-06-21 | 2022-12-29 | 深圳前海微众银行股份有限公司 | 代付请求处理方法及系统 |
TWI849386B (zh) * | 2021-06-30 | 2024-07-21 | 南韓商Arti朋友股份有限公司 | 基於區塊鏈提供發行媒體內容代幣之服務的設備及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537524A (zh) * | 2018-04-18 | 2018-09-14 | 北京奇虎科技有限公司 | 基于区块链的代币管理方法及装置、计算设备 |
CN109034806A (zh) * | 2018-08-15 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种代币发行系统 |
CN110147990A (zh) * | 2019-04-29 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 基于区块链的缴费代扣签约方法及装置、电子设备 |
CN110163590A (zh) * | 2019-04-29 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 基于区块链的缴费代扣方法及装置、电子设备、存储介质 |
CN110163754A (zh) * | 2019-04-26 | 2019-08-23 | 华中科技大学 | Fabric区块链中实现铸币交易的方法、客户端、区块链及系统 |
US20190304259A1 (en) * | 2018-03-31 | 2019-10-03 | Raymond Anthony Joao | Sports betting apparatus and method |
-
2020
- 2020-03-06 CN CN202010153048.1A patent/CN111369257B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190304259A1 (en) * | 2018-03-31 | 2019-10-03 | Raymond Anthony Joao | Sports betting apparatus and method |
CN108537524A (zh) * | 2018-04-18 | 2018-09-14 | 北京奇虎科技有限公司 | 基于区块链的代币管理方法及装置、计算设备 |
CN109034806A (zh) * | 2018-08-15 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种代币发行系统 |
CN110163754A (zh) * | 2019-04-26 | 2019-08-23 | 华中科技大学 | Fabric区块链中实现铸币交易的方法、客户端、区块链及系统 |
CN110147990A (zh) * | 2019-04-29 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 基于区块链的缴费代扣签约方法及装置、电子设备 |
CN110163590A (zh) * | 2019-04-29 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 基于区块链的缴费代扣方法及装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
李海等: ""首次代币发行(ICO)监管再思考——以德国现行法为视角"", 《财经法学》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563743A (zh) * | 2020-07-15 | 2020-08-21 | 百度在线网络技术(北京)有限公司 | 一种区块链的转账处理方法、装置、设备和介质 |
CN111563743B (zh) * | 2020-07-15 | 2020-11-03 | 百度在线网络技术(北京)有限公司 | 一种区块链的转账处理方法、装置、设备和介质 |
JP2021157851A (ja) * | 2020-07-15 | 2021-10-07 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ブロックチェーンの送金処理方法、装置、設備、媒体、及びプログラム |
CN113177792A (zh) * | 2021-05-11 | 2021-07-27 | 上海商学院 | 通过智能合约实现代币池多账户流处理的方法与装置 |
WO2022267395A1 (zh) * | 2021-06-21 | 2022-12-29 | 深圳前海微众银行股份有限公司 | 代付请求处理方法及系统 |
TWI849386B (zh) * | 2021-06-30 | 2024-07-21 | 南韓商Arti朋友股份有限公司 | 基於區塊鏈提供發行媒體內容代幣之服務的設備及方法 |
CN113791764A (zh) * | 2021-09-09 | 2021-12-14 | 四川启睿克科技有限公司 | 自动监控波场区块链账户剩余能量并报警的方法 |
CN113791764B (zh) * | 2021-09-09 | 2023-06-16 | 四川启睿克科技有限公司 | 自动监控波场区块链账户剩余能量并报警的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111369257B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111369257B (zh) | 通过智能合约在区块链上实现资产代扣的方法与装置 | |
CN111026789B (zh) | 基于区块链的电子票据查询方法及装置、电子设备 | |
CN111401902B (zh) | 基于区块链的业务处理方法、业务处理方法、装置及设备 | |
EP3812992B1 (en) | Block chain transaction method and apparatus | |
CN109697204B (zh) | 一种数据审计的方法及装置 | |
CN111382168B (zh) | 在联盟链网络中创建节点组、基于节点组的交易方法 | |
CN110020854B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN110197433B (zh) | 数值转移方法、装置及系统 | |
CN112101938B (zh) | 基于区块链的数字印章使用方法、装置及电子设备 | |
CN112200575B (zh) | 在联盟链网络中创建节点组、基于节点组的交易方法 | |
CN111784341B (zh) | 区块链交易方法及装置、电子设备、存储介质 | |
CN111461691B (zh) | 基于区块链的流量统计系统、方法及装置 | |
CN110020945B (zh) | 一种基于多个区块链网络的数据读取方法及系统 | |
US11716200B2 (en) | Techniques for performing secure operations | |
CN112581253A (zh) | 授信额度的确定方法以及安全多方计算系统 | |
CN110910000A (zh) | 一种区块链资产管理方法和装置 | |
CN111784347B (zh) | 一种资源转移方法及装置 | |
CN112906041A (zh) | 一种动态多方签名加解密方法及系统 | |
CN109685659B (zh) | 一种区块链硬钱包支持链下交易的方法及硬钱包 | |
CN114331437A (zh) | 一种基于区块链的数字印章使用方法及装置 | |
CN111861462B (zh) | 基于区块链的金融产品交易方法及装置 | |
CN111861429A (zh) | 区块链交易矿工费委托方法及链下中继器 | |
CN113761496B (zh) | 一种基于区块链的身份校验方法及装置和电子设备 | |
US20240127232A1 (en) | Systems and methods for improved electronic transfer of resources via a blockchain | |
CN111861474B (zh) | 基于cpk的转账方法、用户终端及云端服务器 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220729 Address after: 201702 room 235, area K, 2 / F, 158 Shuanglian Road, Qingpu District, Shanghai Applicant after: Shanghai Jiansu Network Technology Co.,Ltd. Address before: Room 4058, building 3, No. 495, Yuejin South Road, Xinhai Town, Chongming District, Shanghai 202172 Applicant before: Shanghai pelac Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |