CN110908786A - 一种智能合约调用方法、装置及介质 - Google Patents

一种智能合约调用方法、装置及介质 Download PDF

Info

Publication number
CN110908786A
CN110908786A CN201911139850.9A CN201911139850A CN110908786A CN 110908786 A CN110908786 A CN 110908786A CN 201911139850 A CN201911139850 A CN 201911139850A CN 110908786 A CN110908786 A CN 110908786A
Authority
CN
China
Prior art keywords
user
target
intelligent contract
authority
call
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
Application number
CN201911139850.9A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911139850.9A priority Critical patent/CN110908786A/zh
Publication of CN110908786A publication Critical patent/CN110908786A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

本发明实施例提供一种智能合约调用方法、装置及介质,其中的方法包括接收来自第一用户的调用请求,调用请求包括目标方法的标识及第一用户的标识,调用请求用于请求调用目标智能合约中的目标方法;根据第一用户的标识获取第一用户的属性信息;根据属性信息确定出第一用户具有调用目标方法的权限,则调用目标智能合约并执行目标方法,生成目标结果;发送调用响应至第一用户,调用响应包括目标结果。本发明实施例提供一种智能合约调用方法,能够提高智能合约运行的准确性和安全性。

Description

一种智能合约调用方法、装置及介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种智能合约调用方法、装置及介质。
背景技术
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议代码,可在没有第三方的情况下进行执行。目前,用户端在调用区块链网络中智能合约的过程可包括:用户端生成调用智能合约的交易信息,并将该交易信息发送至区块链网络,区块链网络在接收到该交易信息后,将该交易信息打包生成区块,并对该区块进行共识,在达成共识的情况下,从该区块中获取该交易信息,并调用该交易信息对应的智能合约以执行该交易。但是,上述过程可能会导致信息泄露,甚至被篡改。
发明内容
本发明实施例提供一种智能合约调用方法、装置及介质,可以有效防止信息泄露或被篡改,从而提高智能合约运行的准确性和安全性。
第一方面,本发明实施例提供一种智能合约调用方法,包括:
接收来自第一用户的调用请求,所述调用请求包括目标方法的标识及所述第一用户的标识,所述调用请求用于请求调用目标智能合约中的所述目标方法;
根据所述第一用户的标识获取所述第一用户的属性信息;
根据所述属性信息确定出所述第一用户具有调用所述目标方法的权限,则调用所述目标智能合约并执行所述目标方法,生成目标结果;
发送调用响应至所述第一用户,所述调用响应包括所述目标结果。
在该技术方案中,第一用户发送调用请求至区块链节点,以使区块链节点根据第一用户的标识获取第一用户的属性信息,该属性信息用于确定第一用户是否具有访问目标智能合约并调用目标方法的权限,若有,则调用目标方法并生成目标结果返回给第一用户。通过这种方法,可以过滤掉恶意用户,避免信息泄露,甚至被篡改情况的发生,保证了智能合约运行准确性和安全性。
第二方面,本发明实施例提供一种智能合约调用装置,包括:
收发单元,用于接收来自第一用户的调用请求,所述调用请求包括目标方法的标识及所述第一用户的标识,所述调用请求用于请求调用目标智能合约中的所述目标方法;
处理单元,用于根据所述第一用户的标识获取所述第一用户的属性信息;根据所述属性信息确定出所述第一用户具有调用所述目标方法的权限,则调用所述目标智能合约并执行所述目标方法,生成目标结果;
所述收发单元,还用于发送调用响应至所述第一用户,所述调用响应包括所述目标结果。
第三方面,本发明实施例提供一种智能合约调用装置,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所描述的方法。该处理设备解决问题的实施方式以及有益效果可以参见上述第一方面所描述的方法以及有益效果,重复之处不再赘述。
第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如第一方面所描述的方法。
本申请实施例中,区块链节点接收第一用户发送的包含目标方法的标识及第一用户的标识的调用请求,该调用请求用于访问目标智能合约并调用目标方法,根据第一用户标识获取第一用户的属性信息,根据属性信息可确定出第一用户是否具有调用目标方法的权限,若有,则调用目标智能合约并执行目标方法,生成目标结果并返回至第一用户,从而避免信息泄露,甚至被篡改情况的发生,保证了智能合约运行准确性和安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种智能合约调用系统的架构图;
图2是本发明实施例提供的一种区块链节点的结构示意图;
图3是本发明实施例提供的一种智能合约调用方法的应用场景图;
图4是本发明实施例提供的另一种智能合约调用方法的应用场景图;
图5是本发明实施例提供的又一种智能合约调用方法的应用场景图;
图6是本发明实施例提供的再一种智能合约调用方法的应用场景图;
图7是本发明实施例提供的一种智能合约调用装置的结构示意图;
图8是本发明实施例提供的又一种智能合约调用装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或装置没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或装置固有的其它步骤或模块。
为了更好的理解本发明实施例公开的智能合约调用方法,下面首先对本发明实施例适用的系统架构进行描述。
请参见图1,图1为本发明的系统架构图,该系统构架中包括第一客户端101、区块链网络102和第二客户端103。第一客户端101和第二客户端103的形态和数量用于举例,并不构成对本发明实施例的限定。例如,可以包括两个第一客户端101,也可以包括两个第二客户端103。
其中,第一客户端101及第二客户端103可以为以下任一种:终端、独立的应用程序、应用程序编程接口(Application Programming Interface,API)或者软件开发工具包(Software Development Kit,SDK)。其中,终端可以包括但不限于:智能手机(如Android手机、IOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(Mobile InternetDevices,MID)等设备,本发明实施例不做限定。
实际应用中,一个或多个用户可以操作第一客户端101或第二客户端103,本发明实施例中以一个用户操作一个客户端为例。例如,图1中以第一用户104可以操作第一客户端101,第二用户105可以操作第二客户端103为例。
区块链网络102包括多个区块链节点。图1以区块链网络102包括3个区块链节点为例。当然,区块链网络102还可包括3个以上区块链节点。区块链节点可以为全节点或其他类型的节点。全节点是指存储完整区块链的节点。全节点通常是高性能的计算设备。区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。多个独立的分布式节点(即区块链节点)保存相同的记录。区块链技术实现了去中心化,成为了可信的资源存储、转移和交易的基石。区块链网络102包括多个区块链节点。
第一用户104可以通过第一客户端101向区块链节点发送调用请求,该调用请求为第一用户104请求调用智能合约中的方法,该区块链节点可以为区块链网络102中任一区块链节点,该区块链节点在接收到该调用请求的情况下,调用执行该智能合约中的方法,但是,由于合约是记录在计算机中的可执行代码,是数字合约的形式,不同机构之间建立的合约,例如:银行与企业建立的联盟链中的智能合约,很有可能被其他用户获取,导致信息泄露,甚至被恶意攻击或者篡改,影响交易记录的安全性和准确性。
因此,本发明实施例提供一种智能合约调用方法、装置及介质,可以有效防止信息泄露或被篡改,从而提高智能合约运行的准确性和安全性。本发明实施例提供的智能合约调用装置可以是区块链网络102中的任一区块链节点,也可以是区块链节点的部分(例如芯片等)。在本发明实施例中,以该装置为区块链节点1为例进行描述。
可参见图2,图2为本发明实施例提供的一种区块链节点的结构示意图。图2中,区块链节点1可以包括权限控制模块11和合约虚拟机12。
合约虚拟机12可以调用并执行智能合约,图2以存在智能合约1~3和权限合约为例。其中,智能合约1~3中任一智能合约可以包括一种或多种方法。例如:在投票场景中,运行投票的智能合约可以包括接收用户的投票的方法,统计投票的方法,等等。权限合约可以理解是调用智能合约的调用规则,也可以理解为是调用智能合约中方法的调用规则。
权限控制模块11可以触发合约虚拟机12调用权限合约,根据权限合约控制用户是否能调用相应的智能合约,例如:拒绝用户调用智能合约1,或同意用户调用智能合约1。
本发明实施例中,第一用户104可以通过第一客户端101向区块链节点1,发送调用请求调用目标智能合约中的目标方法,目标智能合约为除权限合约之外的任一种智能合约,目标方法为目标智能合约所包括的方法中的一种。区块链节点1在接收到该调用请求的情况下,通过权限控制模块11触发合约虚拟机12调用权限合约,根据权限合约判断第一用户104是否具有访问目标方法的权限,若有,则确定第一用户104可以调用该目标方法,允许第一用户104调用该目标方法;若无,则确定第一用户104不可以调用该目标方法,不允许第一用户104调用该目标方法,拒绝该调用请求。其中,第一用户104为调用目标方法的用户。
进一步的,在合约发布者106将权限合约发布在区块链网络102上时,权限控制模块11还可以调用权限合约中的“设置管理员”方法,将合约发布者106设置为合约管理员。合约管理员也可以描述为所有者(owner)。例如合约发布者106的用户标识为a,那么将用户标识为a的用户设置为合约管理员。
在本发明实施例中,用户调用目标方法的权限可以转让,例如:第一用户104调用目标方法的权限可以是第二用户105转让给第一用户104的。权限合约的管理员权限也可以转让,例如权限合约的最初管理员为第二用户105,第二用户105可将其管理员权限转让给第一用户104。
进一步的,合约管理员可以通过设置权限规则,对不同用户授予访问智能合约及调用智能合约中不同方法的权限,例如:权限合约的管理员可以设置合法用户标识库,该合法用户标识库中的用户标识对应的用户可以访问智能合约,该合法用户标识库可以理解为白名单。若第一用户104的用户标识在白名单中,则该第一用户104具有访问智能合约的权限。同时,合约管理员可以通过设置权限规则,撤销用户访问智能合约或者调用智能合约中方法的权限,例如:权限合约的管理员可以设置非合法用户标识库,该非合法用户标识库中的用户标识对应的用户不可以访问智能合约,该非合法用户标识库可以理解为黑名单。若第一用户104的用户标识在黑名单中,则该第一用户104不具有访问智能合约的权限。
基于图1和图2,下面将对本发明实施例提供的智能合约调用方法进行详细的介绍。在介绍过程中,以第一用户104通过第一客户端101向区块链节点1发送调用请求为例。
请参见图3,图3为本发明实施例提供的一种智能合约调用方法的应用场景图。如图3所示,该智能合约调用方法可以包括301~305部分。其中:
301、第一用户104发送调用请求至区块链节点1。
第一用户104通过第一客户端101向区块链节点1发送调用请求。具体的,第一用户104在第一客户端101中输入调用请求,并在第一用户104确认之后,第一客户端101将该调用请求发送至区块链节点1。或者,第一用户104在第一客户端101中输入调用相关信息(例如要调用的方法),并在第一用户104确认之后,第一客户端101根据调用相关信息生成调用请求,将该调用请求发送至区块链节点1。该区块链节点1接收该调用请求。
其中。该调用请求包括目标方法的标识及第一用户104的标识,该调用请求用于请求调用目标智能合约中的目标方法。该调用请求可以是一个交易请求。该目标方法的标识可以但不限于是目标方法地址或目标方法的方法标识等。该第一用户104的标识,可以为调用该目标方法的用户的标识,例如:可以为用户的ID、编号或名称等。该目标智能合约的目标方法,为第一用户104请求调用的智能合约中多种方法中的一种。目标智能合约可以为除权限之外的任一种智能合约,可选的,该调用请求还包括目标智能合约的标识。
具体的,第一用户104将调用请求发送给区块链节点1之前,还可对调用请求进行签名,得到第一签名。第一用户104可以通过第一客户端101将该调用请求和第一签名发送至区块链节点1。相应地,区块链节点1在接收到该调用请求和第一签名的情况下,区块链节点1对第一签名进行验证,并在验证成功的情况下,生成包括该调用请求和第一签名的第一区块。然后将包括调用请求和第一签名的第一区块进行上链。
例如,区块链节点1在接收到该调用请求和第一签名的情况下,可由某一个区块链节点(例如,证明工作量最大的节点)根据第一用户104的公钥对第一签名进行验证。若验证通过,生成一个包括调用请求和第一签名的第一区块,并对该第一区块进行共识,通过共识算法保证每个节点新添加的区块是完全相同的。每个区块内记录了若干条交易记录,同时包含了前一个区块的哈希(hash)值,所有区块就是通过这种方式保存前一个区块中的hash值,按顺序相连,组成了区块链。共识算法包括但不限于工作量证明(Proof of Work,PoW)算法、权益证明(Proof of Stake,PoS)算法、授权权益证明(Delegated Proof of Stake,DPoS)算法、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法等。当共识通过时,对该第一区块进行上链。
可选的,采用非对称加密算法创建密钥对,密钥对包括公钥和私钥。此处的非对称加密算法可包括但不限于:Elgamal算法(一种非对称加密算法)、Rabin算法(一种非对称加密算法)、Diffie-Hellman算法(一种非对称加密算法)、ECC算法(椭圆曲线加密算法)。第一用户104可采用第一用户104的私钥对调用请求进行签名,得到第一签名。区块链节点1可采用第一用户104的公钥对第一签名进行验证。
例如,以哈希算法为例,第一用户104对调用请求进行哈希运算,得到哈希值1。第一用户104再采用第一用户104的私钥对哈希值1进行签名,得到第一签名,然后通过第一客户端101将该调用请求和第一签名发送至区块链节点1。相应地,区块链节点1可通过第一用户104的公钥对第一签名进行解密,得到哈希值2,再将调用请求进行哈希运算,得到哈希值1。如果哈希值2与哈希值1相同,则区块链节点1对第一签名验证成功。
302、区块链节点1根据第一用户104的标识获取第一用户104的属性信息。
具体的,区块链节点1可以根据第一用户104的标识,确定第一用户104的属性信息。该第一用户104的属性信息用于判断第一用户104是否可以调用目标方法。
303、区块链节点1根据属性信息确定出第一用户104具有调用目标方法的权限。
具体的,区块链节点1通过权限控制模块11触发合约虚拟机12调用权限合约,以根据第一用户104的属性信息判断第一用户104是否有调用目标方法的权限,当判断出第一用户104具有调用目标方法的权限时,则第一用户104可以访问目标智能合约并执行目标智能合约中的目标方法。
在一种实施方式中,属性信息可以包括用于访问目标智能合约的访问条件信息,和调用目标方法的调用条件信息。
其中,访问条件信息可以是以下三种方式中的一种或多种。
方式一,访问条件信息可以包括目标智能合约的历史访问次数,则区块链节点1可以判断第一用户104对目标智能合约的历史访问次数是否小于访问次数阈值,若小于访问次数的阈值,则确定第一用户104可以继续访问目标智能合约;若大于访问次数阈值,则确定第一用户104不能访问目标智能合约。其中,历史访问次数为第一用户104已访问该目标智能合约的次数。例如:访问次数阈值为20次,区块链节点1确定出第一用户104历史访问次数为18次,则本次可以继续访问该目标智能合约,当第一用户104的历史访问次数超过20次,则不能访问该目标智能合约。其中,区块链节点1可以记录第一用户104的已访问该目标智能合约的次数,则可以根据第一用户104标识,统计在历史日志中的第一用户104已访问该目标智能合约的次数,获得该历史访问次数。
其中,访问次数阈值可由合约发布者106设置在权限合约中。
方式二,访问条件信息可以包括预设时间内对目标智能合约的访问次数频率。区块链节点1可以判断第一用户104在预设时间内对目标智能合约的访问次数频率是否小于访问频率阈值,若没有超过访问频率阈值,则确定第一用户104可以继续访问目标智能合约。例如:访问频率阈值为5次/天,区块链节点1确定出第一用户104今天已访问该目标智能合约的次数为3次,则本次可以继续访问该目标智能合约,当第一用户104今天已访问该目标智能合约的次数为6次,则不能访问该目标智能合约。其中,区块链节点1可以记录预设时间内对目标智能合约的访问次数,则可以根据第一用户104标识,统计在预设时间内的历史日志中第一用户104对目标智能合约的访问次数,获得该访问次数频率。
其中,访问频率阈值可由合约发布者106设置在权限合约中,预设时间可由合约发布者106设置,也可以是默认时间段,例如24小时内等。
通过执行本实施方式,可以有效识别出频繁访问该目标智能合约的用户,预防不法用户的恶意攻击或信息篡改,保证了该智能合约运行的安全性。
方式三,访问条件信息可以包括第一用户104的标识,则区块链节点1可以判断该第一用户104的标识是否包含在合法用户标识库中,该合法用户标识库所包括的用户标识具有访问该目标智能合约的权限。其中,合法用户标识库可以理解为白名单。若第一用户104的标识包含在合法用户标识库中,则确定第一用户104可以访问目标智能合约,若第一用户104的标识不包含在合法用户标识库中,则确定第一用户104不可以访问目标智能合约。
进一步的,区块链节点1可以判断该第一用户104的标识是否包含在非合法用户标识库中,该非合法用户标识库所包括的用户标识不具有访问该目标智能合约的权限。其中,非合法用户标识库可以理解为黑名单。若第一用户104的标识包含在非合法用户标识库中,则确定第一用户104不可以访问目标智能合约,若第一用户104的标识不包含在非合法用户标识库中,则确定第一用户104可以访问目标智能合约。通过执行本实施方式,可以有效的屏蔽不法用户的恶意访问,保证了该智能合约运行的安全性。
其中,合法用户标识库和非合法用户标识库可由合约发布者106设置在权限合约中。进一步的,合约发布者106可以通过向区块链节点1发送修改请求,以修改合法用户标识库和非合法用户标识库,该合约发布者106可以为权限合约的管理员。进一步的,区块链节点1可以通过权限合约管理员的公钥对修改请求的签名进行合法性校验,当验证通过后,执行修改合法用户标识库和非合法用户标识库的步骤。此处对签名进行校验的过程可参见前述步骤301中具体的描述,此处不再赘述。可选的,权限合约管理员还可以将其管理员标识发送至区块链节点1,以使区块链节点1将该管理员标识与区块链中已储存的目标管理员标识进行比对,若两者一致,则执行修改合法用户标识库和非合法用户标识库的步骤。若不一致,则返回执行失败结果。
调用条件信息可以是以下两种方式中的一种或多种。
方式A,调用条件信息可以包括口令参数。口令参数可以为调用该目标方法的密码,该密码可以但不限于是一串字符,例如:计算机身份认证令牌(Token)。则区块链节点1获取该目标方法的目标口令参数,判断第一用户104发送的口令参数与该目标口令参数是否相同,若第一用户104发送的口令参数与该目标口令参数相同,则确定第一用户104可以调用该目标方法,若第一用户104发送的口令参数与该目标口令参数不相同,则确定第一用户104不可以调用该目标方法。例如:方法1的目标口令参数为token 1,第一用户104通过第一客户端101发送的口令参数为token 1a,若token 1与token 1a相同,则确定第一用户104可以调用方法1。可选的,第一用户104可以发送口令获取请求至区块链节点1,该口令获取请求包括第一用户104的标识及目标方法的标识,以使区块链节点1为第一用户104分配该目标方法的口令参数。
方式B,调用条件信息可以包括角色信息。角色信息为第一用户104在该智能合约中的用户角色,例如:产品部用户、人力资源部用户、广告部用户、管理员,等等。各个用户角色与其可以调用的方法之间的对应关系可以由合约管理员设置在权限合约中,区块链节点1判断角色信息对应的至少一个方法中是否包括目标方法,若角色信息对应的至少一个方法中包括目标方法,则确定第一用户104可以调用该目标方法,若角色信息对应的至少一个方法中不包括目标方法,则确定第一用户104不可以调用该目标方法。其中,一个用户可以绑定多个角色,一个角色可以绑定多个方法。例如:该目标智能合约中预设的用户角色和方法的匹配关系如表1所示,若用户A的用户角色是产品部用户和广告部用户,则由表1可知,用户A可以访问的方法有方法1、方法2及方法4。
表1
用户角色 方法
产品部用户 方法1、方法2
人力资源部用户 方法2、方法3
广告部用户 方法4
管理员 方法1、方法2、方法3、方法4
如上所述的属性信息所包含用于访问目标智能合约的访问条件信息及用于调用目标方法的调用条件信息可以共同作用于确定第一用户104是否具有调用目标方法的权限。具体的,可以通过以下几个实施方式举例说明:
作为一种可选的实施方式,属性信息可以包括角色信息和针对目标智能合约的历史访问次数。根据历史访问次数和角色信息分别判断第一用户104是否具有访问目标智能合约及调用目标智能合约中的目标方法权限的实现方式,可参见前述步骤,此处不再赘述。
举例来说:
用户A请求调用智能合约a中的方法1,区块链节点1确定用户A已访问该智能合约a的次数为18次,小于访问次数阈值20,所以确定用户A可以访问该智能合约a。同时,用户A的角色为产品部用户,产品部用户可以访问的方法有方法1和方法2,则确定用户A可以调用该方法1。
通过执行本实施方式,可以识别出多次访问该目标智能合约的用户,并且可以为不同类别用户匹配可以访问的方法,预防不法用户恶意攻击或信息篡改,保证了该智能合约运行准确性和安全性。
作为一种可选的实施方式,属性信息可以包括角色信息和第一用户104的标识。根据第一用户104的标识和角色信息分别判断第一用户104是否具有访问目标智能合约及调用目标智能合约中的目标方法权限的实现方式,可参见前述步骤,此处不再赘述。
举例来说:
用户B请求调用智能合约b中的方法3,区块链节点1确定用户B的用户标识在合法用户标识库中,所以确定用户B可以访问该智能合约b。同时,用户B的角色为人力资源部用户,人力资源部用户可以访问的方法有方法2和方法3,则确定用户B可以调用该方法3。
通过执行本实施方式,可以为一些用户标识在合法用户标识库中的用户提供便利的访问途径,并且可以为不同类别用户匹配可以调用的方法,保证了该智能合约运行的准确性和安全性。
作为一种可选的实施方式,属性信息可以包括口令参数和针对该目标智能合约的历史访问次数。根据历史访问次数和口令参数分别判断第一用户104是否具有访问目标智能合约及调用目标智能合约中的目标方法权限的实现方式,可参见前述步骤,此处不再赘述。
举例来说:
用户C请求调用智能合约c中的方法1,则用户C向区块链节点1发送方法1的口令参数获取请求,则区块链节点1将方法1的口令参数token 1发送给用户C。用户C发送调用方法1的调用请求时,区块链节点1确定用户C已访问该智能合约c的次数为18次,小于访问次数阈值20,所以确定用户C可以访问该智能合约c。同时,方法1的目标口令参数为token 1,用户C发送的口令参数为token 1a,区块链节点1判断出token 1a与token 1相同,则确定用户C可以调用方法1。
通过执行本实施方式,可以识别出多次访问该目标智能合约的用户,并且通过口令的形式进一步验证用户的身份信息,保证了该智能合约运行准确性和安全性。
作为一种可选的实施方式,属性信息可以包括口令参数和第一用户104的标识。根据第一用户104的标识和口令参数分别判断第一用户104是否具有访问目标智能合约及调用目标智能合约中的目标方法权限的实现方式,可参见前述步骤,此处不再赘述。
举例来说:
用户D请求调用智能合约d中的方法1,则用户D向区块链节点1发送方法1的口令参数获取请求,则区块链节点1将方法1的口令参数token 1发送给用户D。用户D发送调用方法1的调用请求时,区块链节点1确定用户D的用户标识在合法用户标识库中,所以确定用户D可以访问该智能合约d。同时,方法1的目标口令参数为token 1a,用户D发送的口令参数为token 1,区块链节点1判断出token 1a与token 1相同,则确定用户D可以调用方法1。
通过执行本实施方式,可以为一些用户标识在合法用户标识库中的用户提供便利的访问途径,并且通过口令的形式进一步验证用户的身份信息,保证了该智能合约运行准确性和安全性。
304、区块链节点1调用目标智能合约并执行目标方法,生成目标结果。
具体的,若第一用户104具有调用目标方法的权限,则区块链节点1调用目标智能合约并执行目标方法,生成目标结果。该目标结果为执行该目标方法生成的结果。
305、区块链节点1发送调用响应至第一用户104。
具体的,区块链节点1发送调用响应至第一用户104,以使第一用户104接收该调用响应。其中,该调用响应包括执行目标方法生成的目标结果,
可见,通过实施图3所描述的方法,第一用户104在请求调用目标智能合约中的目标方法时,区块链节点1可以根据第一用户104对目标智能合约的历史访问次数、在预设时间内对目标智能合约的访问次数或第一用户104的标识判断该第一用户104是否具有访问目标智能合约的权限,同时,根据第一用户104发送的口令参数或角色信息判断该第一用户104是否具有调用目标方法的权限,当第一用户104满足权限要求时,才可以访问目标智能合约并调用目标方法。这样能够过滤掉一些恶意用户,避免信息泄露,甚至被篡改情况的发生,保证了智能合约运行准确性和安全性。
本发明实施例提供的另一种智能合约调用方法可以包括401~405部分。其中:
401、第一用户104发送调用请求至区块链节点1。
402、区块链节点1根据第一用户104的标识获取第一用户104的属性信息。
步骤401和402的具体实现方式可参见上述步骤301和302的描述,在此不赘述。
403、区块链节点1根据属性信息确定出第一用户104具有调用目标方法的权限。
具体的,属性信息可以包括第一用户104的标识、针对目标方法的历史调用次数、或预设时间内对目标方法的调用次数频率。
区块链节点1可以判断第一用户104的标识是否在白名单中,以确定出第一用户104是否具有调用目标方法的权限。其中,白名单所包括的用户标识对应的用户具有调用目标方法的权限。进一步的,区块链节点1可以判断第一用户104的标识是否在黑名单中,以确定出第一用户104是否具有调用目标方法的权限。其中,黑名单所包括的用户标识对应的用户不具有调用目标方法的权限。
区块链节点1可以判断历史调用次数是否小于调用次数阈值,以确定出第一用户104是否具有调用目标方法的权限。若小于调用次数阈值,则确定第一用户104可以调用目标方法;若大于调用次数阈值,则确定第一用户104不能调用目标方法。
区块链节点1可以判断调用次数频率是否小于调用频率阈值,以确定出第一用户104是否具有调用目标方法的权限。若小于调用频率阈值,则确定第一用户104可以调用目标方法;若大于调用频率阈值,则确定第一用户104不能调用目标方法。
作为一种可选的实施方式,区块链节点1可根据第一用户104的标识及预设时间内对目标智能合约的调用次数频率判断第一用户104是否具有调用目标方法的权限。
举例来说:
如图4所示,第一用户104通过第一客户端101请求调用智能合约e中的方法N,区块链节点1确定第一用户104今天已调用方法N的次数为3次,小于访问频率阈值5次/天,那么可以确定第一用户104可以调用方法N。或者,确定第一用户104的用户标识在合法用户标识库中,那么可以确定第一用户104可以调用方法N。
通过执行本实施方式,可以为指定的用户提供访问途径,并且预防潜在的不法用户试图恶意攻击或篡改信息,保证了该智能合约运行的安全性。
404、区块链节点1调用目标智能合约并执行目标方法,生成目标结果。
405、区块链节点1发送调用响应至第一用户104。
步骤404和405的具体实现方式可参见上述步骤304和305的描述,在此不赘述。
可见,通过本实施例所描述的方法,当第一用户104满足权限要求时,才可以调用目标方法。这样能够为指定的用户提供访问途径,并且预防潜在的不法用户试图恶意攻击或篡改信息,保证了该智能合约运行的安全性。
本发明实施例提供的又一种智能合约调用方法可以包括501~505部分。其中:
501、第一用户104发送调用请求至区块链节点1。
502、区块链节点1根据第一用户104的标识获取第一用户104的属性信息。
步骤501和502的具体实现方式可参见上述步骤301和302的描述,在此不赘述。
503、区块链节点1根据属性信息确定出第一用户104具有调用目标方法的权限。
具体的,属性信息可以包括角色信息或口令参数。若角色信息对应的至少一个方法中包括目标方法,则第一用户104具有调用目标方法的权限。若口令参数与目标方法对应的目标口令参数相同,则第一用户104具有调用目标方法的权限。
作为一种可选的实施方式,若属性信息包括口令参数,属性信息还可以包括口令参数的有效时间,若当前第一用户104通过第一客户端101向区块链节点1发送调用请求的时间在有效时间内,且口令参数与目标口令参数相同,则可以通过口令参数调用该目标方法。可选的,若该目标方法的口令参数超过有效时间,区块链节点1会自动更新该目标方法的口令参数。例如:方法1的口令参数token 1的有效时间30天,在第31天后方法1的口令参数更新为token 1b。若第一用户104在第20天发送口令参数token 1调用目标方法,则可以调用该目标方法,若第一用户104在第35天发送口令参数token 1调用目标方法,则不可以调用该目标方法。通过执行本实施方式,可以定期为口令参数进行更新,避免因为口令参数的泄露,导致恶意用户获得调用方法的权限。
作为一种可选的实施方式,若属性信息包括口令参数,属性信息还可以包括口令参数的使用次数阈值,该口令参数阈值为合约管理员在设置权限规则时设置的,若当前第一用户104通过第一客户端101向区块链节点1发送的口令参数的使用次数小于使用次数阈值,且口令参数与目标口令参数相同,则可以通过口令参数调用该目标方法。若当前第一用户104通过第一客户端101向区块链节点1发送的口令参数的使用次数大于或等于使用次数阈值,则不可以调用该方法。例如:方法1的口令参数token 1的使用次数阈值是5次,第一用户104发送口令参数token 1调用方法1,区块链节点1确定第一用户104使用该口令参数token 1调用方法1的次数为3次,则本次可以调用方法1,第一用户104使用该口令参数token 1调用方法1的次数为6次,则本次不可以调用方法1。通过执行本实施方式,可以限制口令参数的使用次数,避免因为口令参数的泄露,导致恶意用户获得调用方法的权限。
作为一种可选的实施方式,调用条件信息包括第一用户104的角色信息及口令参数。区块链节点1根据第一用户104的角色信息及口令参数判断第一用户104是否具有调用目标方法的权限。
举例来说:
如图5所示,第一用户104通过第一客户端101请求调用智能合约f中的方法1,在发送调用请求之前,第一用户104向区块链节点1发送方法1的口令参数获取请求,该口令参数获取请求用于请求获取智能合约f中的方法1的口令参数,该口令参数获取请求可包括第一用户104的标识及方法1的标识。区块链节点1在接收到该口令参数获取请求的情况下,在验证出该口令参数获取请求具有合法性的情况下,将方法1的口令参数token 1发送给第一用户104。当第一用户104要调用方法1时,在调用请求中携带口令参数,区块链节点1判断调用请求所携带的token与方法1的token是否相同,若相同,可确定第一用户104可以调用方法1;若不相同,可确定第一用户104不可以调用方法1。
504、区块链节点1调用目标智能合约并执行目标方法,生成目标结果。
505、区块链节点1发送调用响应至第一用户104。
步骤504和505的具体实现方式可参见上述步骤304和305的描述,在此不赘述。
可见,通过本实施例所描述的方法,通过口令参数或角色信息判断用户是否具有调用目标方法的权限,,保证了该智能合约运行的安全性。
请参见图6,图6为本发明实施例提供的又一种智能合约调用方法的应用场景图。如图6所示,该智能合约调用方法可以包括601~608部分。其中:
601、第二用户105发送权限转让请求至区块链节点1。
具体的,第二用户105通过第二客户端103发送权限转让请求至区块链节点1的情况下,区块链节点1接收来自第二用户105的权限转让请求,该权限转让请求包括第二用户105的标识及第一用户104的标识,该权限转让请求用于请求将第二用户105调用目标方法的权限转让给第一用户104。
602、区块链节点1判断权限转让请求的合法性。
具体的,该合法性的判断方法可以为根据第二用户105的公钥对权限转让请求的签名进行验证。可选的,第二用户105将权限转让请求发送给区块链节点1之前,还可对权限转让请求进行签名,得到第二签名。相应地,区块链节点1接收权限转让请求和第二签名的情况下,区块链节点1对第二签名进行验证。其详细的验证过程可参见步骤301中第一签名的验证方法。若验证通过,则将第二用户105调用目标方法的权限转让给第一用户104即步骤603,若验证不通过,则返回执行失败结果。
603、区块链节点1将第二用户105调用目标方法的权限转让给第一用户104。
作为一种可选的实施方式,第一用户104可以为调用目标方法的用户,第二用户105可以为转让调用目标方法权限的用户。例如:第二用户105为产品部用户,可以调用方法1和方法2,第二用户105将权限转让给第一用户104,则第一用户104可以调用方法1和方法2。通过执行本实施方式,可以使调用过程更为简单灵活。
作为一种可选的实施方式,在第二用户105为合约管理员的情况下,则第二用户105也可以向区块链节点1发送权利撤销请求,以撤销赋予第一用户104的权限。通过执行本实施方式,使得合约管理员可以管理其规则下运行的智能合约的用户,保证了智能合约运行的安全性。
作为一种可选的实施方式,该转让请求还可以包括转让时长,转让时长用于限定第一用户104可以使用第二用户105的权限的时长,该转让时长可以为区块的高度,也可以为时间的长度。例如:可以为当第一用户104通过第一客户端101发送的调用请求所生成的区块的高度达到10000时,第一用户104不再具有使用第二用户105的权限,或者当转让时长到达时间阈值(一个星期、一个月、半年等),第一用户104不再具有使用第二用户105的权限。通过执行本实施方式,使得第二用户105可以在预定的时间内收回自己的权限,避免权限被滥用的可能性。
具体的,本实施方式中的“第一”、“第二”、“第三”等是用于区别不同对象,而非用于描述特定顺序。例如,第一用户104也可以作为转让调用目标方法权限的用户,第一用户104也可以将该权限转让给第三用户,此处不做限定。
604、第一用户104发送调用请求至区块链节点1。
605、区块链节点1根据第一用户104的标识获取第一用户104的属性信息。
步骤604和605具体实现方式可参见上述步骤301和302的描述,在此不赘述。
具体的,区块链节点1将第二用户105的标识所对应的访问权限更换为第一用户104的标识可以对应的访问权限,则区块链节点1根据第一用户104的标识获取第一用户104的属性信息,为第二用户105在转让前所对应的属性信息。
606、区块链节点1根据属性信息确定出第一用户104具有调用目标方法的权限。
607、区块链节点1调用目标智能合约并执行目标方法,生成目标结果。
608、区块链节点1发送调用响应至第一用户104。
步骤606和608具体实现方式可参见上述步骤303和305的描述,在此不赘述。
可见,通过实施图6所描述的方法,第二用户105可以将自己权限转让给第一用户104,第一用户104可以利用第二用户105的原有的权限调用目标方法。这样使得调用过程更为简单灵活,同时转让的权限也包括管理员的权限,可以使更换管理员过程更为简单可信,保证了智能合约运行的安全性。
基于上述方法实施例的描述,本发明实施例还提出一种智能合约调用装置。该智能合约调用装置可以是运行于处理设备中的计算机程序(包括程序代码);请参见图7所示,该智能合约调用装置可以运行如下单元:
收发单元701,用于接收来自第一用户的调用请求,所述调用请求包括目标方法的标识及所述第一用户的标识,所述调用请求用于请求调用目标智能合约中的所述目标方法;
处理单元702,用于根据所述第一用户的标识获取所述第一用户的属性信息;根据所述属性信息确定出所述第一用户具有调用所述目标方法的权限,则调用所述目标智能合约并执行所述目标方法,生成目标结果;
所述收发单元701,还用于发送调用响应至所述第一用户,所述调用响应包括所述目标结果。
在一种实施方式中,所述属性信息包括角色信息和针对所述目标智能合约的历史访问次数,处理单元702,还可用于若所述角色信息对应的至少一个方法中包含所述目标方法,且所述历史访问次数小于访问次数阈值,则确定所述第一用户具有调用所述目标方法的权限。
再一种实施方式中,所述属性信息还包括角色信息和所述第一用户的标识,处理单元702,还可用于根据所述角色信息对应的至少一个方法中包括所述目标方法,且所述第一用户的标识包含在预设标识库中,则确定所述第一用户具有调用所述目标方法的权限,所述预设标识库所包括的用户标识对应的用户具有访问所述目标智能合约的权限。
再一种实施方式中,所述属性信息还包括口令参数和针对所述目标智能合约的历史访问次数,处理单元702,还可用于获取所述目标方法对应的目标口令参数;
若所述口令参数与所述目标口令参数相同,且所述历史访问次数小于所述访问次数阈值,则确定所述第一用户具有调用所述目标方法的权限。
再一种实施方式中,所述属性信息还包括口令参数和所述第一用户的标识,处理单元702,还可用于获取所述目标方法对应的所述目标口令参数;
若所述口令参数与所述目标口令参数相同,且所述第一用户的标识包含在所述预设标识库中,则确定所述第一用户具有调用所述目标方法的权限,所述预设标识库所包括的用户标识对应的用户具有访问所述目标智能合约的权限。
再一种实施方式中,所述属性信息还包括所述口令参数的有效时间,处理单元702,还可用于若当前时间在所述口令参数的有效时间内,则判断所述口令参数与所述目标口令参数是否相同。
再一种实施方式中,所述接收来自第一用户的调用请求之前,收发单元701,还可用于接收来自第二用户的权限转让请求,所述权限转让请求包括所述第二用户的标识及所述第一用户的标识,所述权限转让请求用于请求将所述第二用户调用所述目标方法的权限转让给所述第一用户;
处理单元702,还可用于若所述权限转让请求具有合法性,则将所述第二用户调用所述目标方法的权限转让给所述第一用户。
根据本发明的一个实施例,图3、图4、图5及图6所示的智能合约调用方法所涉及的部分步骤可由智能合约调用装置中的处理单元来执行。例如,图3中所示的步骤301和305可由收发单元701执行;又如,图3所示的步骤302可由处理单元702执行。根据本发明的另一个实施例,智能合约调用装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。
请参见图8,是本发明实施例提供的一种智能合约调用装置的结构示意图,该智能合约调用装置包括处理器801、存储器802及通信接口803,处理器801、存储器802及通信接口803通过至少一条通信总线连接,处理器801被配置为支持处理设备执行图3、图4、图5及图6方法中处理设备相应的功能。
存储器802用于存放有适于被处理器加载并执行的至少一条指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。
通信接口803用于接收数据和用于发送数据。例如,通信接口803用于发送调用请求等。
在本发明实施例中,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
通过通信接口803接收来自第一用户的调用请求,所述调用请求包括目标方法的标识及所述第一用户的标识,所述调用请求用于请求调用目标智能合约中的所述目标方法;
根据所述第一用户的标识获取所述第一用户的属性信息;
根据所述属性信息确定出所述第一用户具有调用所述目标方法的权限,则调用所述目标智能合约并执行所述目标方法,生成目标结果;
发送调用响应至所述第一用户,所述调用响应包括所述目标结果。
作为一种可选的实施方式,所述属性信息包括角色信息和针对所述目标智能合约的历史访问次数,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
若所述角色信息对应的至少一个方法中包含所述目标方法,且所述历史访问次数小于访问次数阈值,则确定所述第一用户具有调用所述目标方法的权限。
作为一种可选的实施方式,所述属性信息还包括角色信息和所述第一用户的标识,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
根据所述角色信息对应的至少一个方法中包括所述目标方法,且所述第一用户的标识包含在预设标识库中,则确定所述第一用户具有调用所述目标方法的权限,所述预设标识库所包括的用户标识对应的用户具有访问所述目标智能合约的权限。
作为一种可选的实施方式,所述属性信息还包括口令参数和针对所述目标智能合约的历史访问次数,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
获取所述目标方法对应的目标口令参数;
若所述口令参数与所述目标口令参数相同,且所述历史访问次数小于所述访问次数阈值,则确定所述第一用户具有调用所述目标方法的权限。
作为一种可选的实施方式,所述属性信息还包括口令参数和所述第一用户的标识,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
获取所述目标方法对应的所述目标口令参数;
若所述口令参数与所述目标口令参数相同,且所述第一用户的标识包含在所述预设标识库中,则确定所述第一用户具有调用所述目标方法的权限,所述预设标识库所包括的用户标识对应的用户具有访问所述目标智能合约的权限。
作为一种可选的实施方式,所述属性信息还包括所述口令参数的有效时间,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
若当前时间在所述口令参数的有效时间内,则判断所述口令参数与所述目标口令参数是否相同。
作为一种可选的实施方式,所述接收来自第一用户的调用请求之前,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
通过通信接口803接收来自第二用户的权限转让请求,所述权限转让请求包括所述第二用户的标识及所述第一用户的标识,所述权限转让请求用于请求将所述第二用户调用所述目标方法的权限转让给所述第一用户;
若所述权限转让请求具有合法性,则将所述第二用户调用所述目标方法的权限转让给所述第一用户。
本发明实施例还提供了一种计算机可读存储介质(Memory),可以用于存储图3、图4、图5及图6中所示实施例中处理设备所用的计算机软件指令,在该存储空间中还存放了适于被处理器加载并执行的至少一条指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。
上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种智能合约调用方法,其特征在于,所述方法包括:
接收来自第一用户的调用请求,所述调用请求包括目标方法的标识及所述第一用户的标识,所述调用请求用于请求调用目标智能合约中的所述目标方法;
根据所述第一用户的标识获取所述第一用户的属性信息;
根据所述属性信息确定出所述第一用户具有调用所述目标方法的权限,则调用所述目标智能合约并执行所述目标方法,生成目标结果;
发送调用响应至所述第一用户,所述调用响应包括所述目标结果。
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括角色信息和针对所述目标智能合约的历史访问次数,所述方法还包括:
若所述角色信息对应的至少一个方法中包含所述目标方法,且所述历史访问次数小于访问次数阈值,则确定所述第一用户具有调用所述目标方法的权限。
3.根据权利要求1所述的方法,其特征在于,所述属性信息还包括角色信息和所述第一用户的标识,所述方法还包括:
根据所述角色信息对应的至少一个方法中包括所述目标方法,且所述第一用户的标识包含在预设标识库中,则确定所述第一用户具有调用所述目标方法的权限,所述预设标识库所包括的用户标识对应的用户具有访问所述目标智能合约的权限。
4.根据权利要求1所述的方法,其特征在于,所述属性信息还包括口令参数和针对所述目标智能合约的历史访问次数,所述方法还包括:
获取所述目标方法对应的目标口令参数;
若所述口令参数与所述目标口令参数相同,且所述历史访问次数小于所述访问次数阈值,则确定所述第一用户具有调用所述目标方法的权限。
5.根据权利要求1所述的方法,其特征在于,所述属性信息还包括口令参数和所述第一用户的标识,所述方法还包括:
获取所述目标方法对应的所述目标口令参数;
若所述口令参数与所述目标口令参数相同,且所述第一用户的标识包含在所述预设标识库中,则确定所述第一用户具有调用所述目标方法的权限,所述预设标识库所包括的用户标识对应的用户具有访问所述目标智能合约的权限。
6.根据权利要求4或5所述的方法,其特征在于,所述属性信息还包括所述口令参数的有效时间,所述方法还包括:
若当前时间在所述口令参数的有效时间内,则判断所述口令参数与所述目标口令参数是否相同。
7.根据权利要求1~5中任一项所述的方法,其特征在于,所述接收来自第一用户的调用请求之前,还包括:
接收来自第二用户的权限转让请求,所述权限转让请求包括所述第二用户的标识及所述第一用户的标识,所述权限转让请求用于请求将所述第二用户调用所述目标方法的权限转让给所述第一用户;
若所述权限转让请求具有合法性,则将所述第二用户调用所述目标方法的权限转让给所述第一用户。
8.一种智能合约调用装置,其特征在于,包括:
收发单元,用于接收来自第一用户的调用请求,所述调用请求包括目标方法的标识及所述第一用户的标识,所述调用请求用于请求调用目标智能合约中的所述目标方法;
处理单元,用于根据所述第一用户的标识获取所述第一用户的属性信息;根据所述属性信息确定出所述第一用户具有调用所述目标方法的权限,则调用所述目标智能合约并执行所述目标方法,生成目标结果;
所述收发单元,还用于发送调用响应至所述第一用户,所述调用响应包括所述目标结果。
9.一种智能合约调用装置,其特征在于,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-7中任一项所述的方法。
CN201911139850.9A 2019-11-19 2019-11-19 一种智能合约调用方法、装置及介质 Pending CN110908786A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911139850.9A CN110908786A (zh) 2019-11-19 2019-11-19 一种智能合约调用方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911139850.9A CN110908786A (zh) 2019-11-19 2019-11-19 一种智能合约调用方法、装置及介质

Publications (1)

Publication Number Publication Date
CN110908786A true CN110908786A (zh) 2020-03-24

Family

ID=69816800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911139850.9A Pending CN110908786A (zh) 2019-11-19 2019-11-19 一种智能合约调用方法、装置及介质

Country Status (1)

Country Link
CN (1) CN110908786A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339208A (zh) * 2020-05-15 2020-06-26 支付宝(杭州)信息技术有限公司 调用智能合约的方法及装置
CN111641586A (zh) * 2020-04-24 2020-09-08 杭州溪塔科技有限公司 一种基于区块链的账户权限管理方法和系统
CN112395570A (zh) * 2020-10-30 2021-02-23 迅鳐成都科技有限公司 一种联盟链智能合约调用权限控制方法、系统及存储介质
CN113037754A (zh) * 2021-03-10 2021-06-25 杭州宇链科技有限公司 一种基于区块链的特定人群聚集的安全管理系统及管理方法
CN113360883A (zh) * 2021-06-10 2021-09-07 网易(杭州)网络有限公司 一种智能合约的处理方法、装置、计算机设备及存储介质
CN113240422B (zh) * 2021-07-09 2021-12-03 天聚地合(苏州)数据股份有限公司 基于区块链的理财产品转移方法和相关装置
CN114422535A (zh) * 2022-01-18 2022-04-29 网易(杭州)网络有限公司 区块链中部署合约的方法、装置、计算机设备及存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111641586A (zh) * 2020-04-24 2020-09-08 杭州溪塔科技有限公司 一种基于区块链的账户权限管理方法和系统
CN111339208A (zh) * 2020-05-15 2020-06-26 支付宝(杭州)信息技术有限公司 调用智能合约的方法及装置
CN111339208B (zh) * 2020-05-15 2020-08-25 支付宝(杭州)信息技术有限公司 调用智能合约的方法及装置
CN112163035A (zh) * 2020-05-15 2021-01-01 支付宝(杭州)信息技术有限公司 调用智能合约的方法及装置
WO2021228242A1 (zh) * 2020-05-15 2021-11-18 支付宝(杭州)信息技术有限公司 调用智能合约的方法及装置
CN112395570A (zh) * 2020-10-30 2021-02-23 迅鳐成都科技有限公司 一种联盟链智能合约调用权限控制方法、系统及存储介质
CN112395570B (zh) * 2020-10-30 2024-02-27 迅鳐成都科技有限公司 一种联盟链智能合约调用权限控制方法、系统及存储介质
CN113037754A (zh) * 2021-03-10 2021-06-25 杭州宇链科技有限公司 一种基于区块链的特定人群聚集的安全管理系统及管理方法
CN113360883A (zh) * 2021-06-10 2021-09-07 网易(杭州)网络有限公司 一种智能合约的处理方法、装置、计算机设备及存储介质
CN113240422B (zh) * 2021-07-09 2021-12-03 天聚地合(苏州)数据股份有限公司 基于区块链的理财产品转移方法和相关装置
CN114422535A (zh) * 2022-01-18 2022-04-29 网易(杭州)网络有限公司 区块链中部署合约的方法、装置、计算机设备及存储介质
CN114422535B (zh) * 2022-01-18 2024-04-09 网易(杭州)网络有限公司 区块链中部署合约的方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
CN110908786A (zh) 一种智能合约调用方法、装置及介质
US10230756B2 (en) Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network
CN111164948B (zh) 使用区块链网络管理网络安全漏洞
KR102002509B1 (ko) 공증센터를 포함하는 프라이빗 블록체인 시스템 및 이의 공증방법
EP2765750B1 (en) Controlling application access to mobile device functions
CN111353903B (zh) 一种网络身份保护方法、装置及电子设备和存储介质
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
US11921884B2 (en) Techniques for preventing collusion using simultaneous key release
US9521032B1 (en) Server for authentication, authorization, and accounting
CN104184713A (zh) 终端识别方法、机器识别码注册方法及相应系统、设备
CN110569658A (zh) 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质
CN109842616B (zh) 账号绑定方法、装置及服务器
CN111292174A (zh) 一种纳税信息处理方法、装置及计算机可读存储介质
US20180218364A1 (en) Managing distributed content using layered permissions
CN112712452A (zh) 基于区块链的审批信息处理方法和装置
CN113039542A (zh) 云计算网络中的安全计数
CN114357490A (zh) 一种基于区块链的数据共享方法、装置以及系统
CN114448648B (zh) 基于rpa的敏感凭据管理方法及系统
CN111260475A (zh) 一种数据处理方法、区块链节点设备及存储介质
CN112702419B (zh) 基于区块链的数据处理方法、装置、设备和存储介质
CN111178896B (zh) 乘车支付方法、装置及存储介质
CN112037055A (zh) 交易处理方法、装置、电子设备及可读存储介质
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN111769956B (zh) 业务处理方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021482

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination