CN113065111A - 一种智能合约的权限控制方法、装置、设备及存储介质 - Google Patents
一种智能合约的权限控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113065111A CN113065111A CN202110449123.3A CN202110449123A CN113065111A CN 113065111 A CN113065111 A CN 113065111A CN 202110449123 A CN202110449123 A CN 202110449123A CN 113065111 A CN113065111 A CN 113065111A
- Authority
- CN
- China
- Prior art keywords
- contract
- authority
- user
- type
- intelligent
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/602—Providing cryptographic facilities or services
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请属于区块链领域,提出一种智能合约的权限控制方法、装置、设备及存储介质,该方法包括:接收合约拥有者发送的智能合约,调用权限控制模板生成智能合约的权限通证,存储智能合约与对应的权限通证;接收用户发送的合约申请信息,其包括用户信息、合约地址及申请的权限类型;判断是否允许用户使用所申请的权限类型;若是,获取合约地址和所申请的权限类型对应的权限通证;通过私钥对权限通证加密,将通证密文发给用户;接收用户发的包括通证密文及合约地址的交易信息,根据通证密文及合约地址执行交易。本申请将智能合约权限控制模板化,使合约权限控制成为区块链系统的通用功能,智能合约的拥有者都可直接调用该功能实现合约权限控制。
Description
技术领域
本申请属于区块链技术领域,具体涉及一种智能合约的权限控制方法、装置、设备及存储介质。
背景技术
区块链中很多交易的执行都要依赖于智能合约,智能合约中包括多个执行方法,不同的交易需要调用智能合约中不同的执行方法。相关技术中,即便用户只需使用智能合约中少数几个执行方法,也可以调用智能合约的全部内容,从智能合约中选择自己所需使用的执行方法来执行交易。如此智能合约的全部内容都能被用户获得,使得用户可以使用智能合约中的任意执行方法,造成智能合约的使用权限混乱。
而若智能合约的拥有者想要对合约权限进行控制,则拥有者需要通过编程来实现不同控制权限的管理。拥有者自己通过编程来实现专业性要求高、实现难度大。
发明内容
本申请提出一种智能合约的权限控制方法、装置、设备及存储介质,将智能合约权限控制模板化,使合约权限控制成为区块链系统的通用功能,智能合约的拥有者都可直接调用该功能实现合约的权限控制。
本申请第一方面实施例提出了一种智能合约的权限控制方法,包括:
接收合约拥有者发送的智能合约,调用权限控制模板生成所述智能合约对应的各类型的权限通证,存储所述智能合约与权限通证的对应关系;
接收用户发送的合约申请信息,所述合约申请信息包括用户信息、合约地址及所申请的权限类型;
根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型;
如果是,则根据所述合约申请信息包括的所述合约地址和所申请的权限类型,获取对应的权限通证;
通过私钥对所述权限通证进行加密,将得到的通证密文发送给所述用户;
接收所述用户发送的交易信息,所述交易信息包括所述通证密文及合约地址,根据所述通证密文及合约地址,执行所述交易信息的交易处理。
在本申请的一些实施例中,所述调用权限控制模板生成所述智能合约对应的各类型的权限通证,包括:
调用权限控制模板对所述智能合约进行解析,识别出所述智能合约包括的合约方法,所述合约方法包括对交易进行处理的规则或函数;
根据所述智能合约及其包括的合约方法,自动生成所述智能合约对应的权限通证,权限通证的类型包括对智能合约进行管理的通证、对智能合约进行执行的通证、对智能合约进行查询的通证、对合约方法进行执行的通证、对合约方法进行查询的通证中的一种或多种。
在本申请的一些实施例中,所述根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型,包括:
根据所述合约申请信息包括的合约地址,确定所述用户所申请的智能合约对应的合约拥有者;
发送所述合约申请信息给所述合约拥有者,以使所述合约拥有者根据所述合约申请信息判断是否允许所述用户使用所申请的权限类型的合约权限;
接收所述合约拥有者发送的审核通过通知,确定允许所述用户使用其所申请的权限类型;或者,
接收所述合约拥有者发送的审核失败通知,确定不允许所述用户使用其所申请的权限类型,发送审核失败指示给所述用户。
在本申请的一些实施例中,所述根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型,包括:
根据所述合约申请信息包括的合约地址,获取所述合约地址对应的智能合约对应的每种类型的权限通证;
根据所述合约申请信息包括的所申请的权限类型,获取所申请的权限类型对应的申请限制条件;
根据所述合约申请信息包括的用户信息,判断所述用户信息是否满足所述申请限制条件;
如果是,则确定允许所述用户使用其所申请的权限类型;
如果否,则确定不允许所述用户使用其所申请的权限类型,发送审核失败指示给所述用户。
在本申请的一些实施例中,所述根据所述合约申请信息包括的所述合约地址和所申请的权限类型,获取对应的权限通证,包括:
根据所述合约申请信息包括的合约地址,从存储的合约地址、智能合约与权限通证的对应关系中查询所述合约地址对应的一条记录,所述记录中包括所述合约地址及其对应的智能合约和该智能合约对应的各权限类型的权限通证;
根据所述合约申请信息包括的所申请的权限类型,从查询出的记录中获取所述权限类型对应的权限通证。
在本申请的一些实施例中,所述接收合约拥有者发送的智能合约之后,还包括:
通过预设非对称加密算法生成所述智能合约对应的公钥和私钥;
存储所述智能合约的合约地址与所述公钥及所述私钥的对应关系。
在本申请的一些实施例中,所述根据所述通证密文及合约地址,执行所述交易信息的交易处理,包括:
根据所述交易信息包括的合约地址,从合约地址、私钥和公钥的对应关系中获取对应的公钥;
利用获取的所述公钥对所述交易信息包括的通证密文进行解密,得到解密后的权限通证;
调用所述权限通证中包括的合约方法执行所述交易信息的交易处理。
本申请第二方面的实施例提供了一种智能合约的权限控制装置,包括:
接收模块,用于接收合约拥有者发送的智能合约;
通证生成模块,用于调用权限控制模板生成所述智能合约对应的各类型的权限通证,存储所述智能合约与权限通证的对应关系;
所述接收模块,用于接收用户发送的合约申请信息,所述合约申请信息包括用户信息、合约地址及所申请的权限类型;
判断模块,用于根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型;
通证获取模块,用于如果所述判断模块判断出允许所述用户使用其所申请的权限类型,则根据所述合约申请信息包括的所述合约地址和所申请的权限类型,获取对应的权限通证;
通证加密发送模块,用于通过私钥对所述权限通证进行加密,将得到的通证密文发送给所述用户;
交易处理模块,用于接收所述用户发送的交易信息,所述交易信息包括所述通证密文及合约地址,根据所述通证密文及合约地址,执行所述交易信息的交易处理。
本申请第三方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述第一方面所述的方法的步骤。
本申请第四方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面所述的方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,将智能合约的权限控制模板化,通过区块链的协议栈中的权限控制模块,或者通过用于权限控制的合约,来实现对智能合约的权限控制。如此合约拥有者无需自己编程来实现权限控制,只需将自己的智能合约发布到区块链中,调用协议栈中的权限控制模块或者调用用于权限控制的合约,即可自动解析用户的智能合约,生成该智能合约对应的不同类型的通证,以及实现各类型通证的颁发及调用执行。使合约权限控制成为区块链系统的通用功能,智能合约的拥有者都可以直接调用该功能实现合约的权限控制。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请一实施例所提供的一种智能合约的权限控制方法的流程图;
图2示出了本申请一实施例所提供的一种智能合约的权限控制装置的结构示意图;
图3示出了本申请一实施例所提供的一种计算机设备的结构示意图;
图4示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请的一些实施例提供了一种智能合约的权限控制方法,本申请实施例的执行主体为区块链系统中的节点设备。参见图1,该方法具体包括以下步骤:
步骤101:接收合约拥有者发送的智能合约,调用权限控制模板生成该智能合约对应的各类型的权限通证,存储该智能合约与权限通证的对应关系。
本申请实施例的执行主体为区块链系统中的节点设备,该节点设备上配置有权限控制模板,该权限控制模板用于实现对智能合约的权限控制及管理。该权限控制模板可以为区块链的协议栈中的一个功能模块,或者,该权限控制模板可以为用于对智能合约进行权限控制和管理的合约。本申请实施例将对智能合约的权限控制和管理模板化,通过权限控制模板实现对所有智能合约的权限控制。
在本申请实施例中,合约拥有者生成智能合约,在生成智能合约的过程中无需生成该智能合约对应的权限通证。合约拥有者发送该智能合约给区块链系统中的节点设备。节点设备接收合约拥有者发送的智能合约,调用权限控制模板对该智能合约进行解析,识别出该智能合约包括的合约方法,合约方法包括对交易进行处理的规则或函数等。节点设备根据该智能合约及其包括的合约方法,自动生成该智能合约对应的各类型的权限通证,权限通证的类型包括对智能合约进行管理的通证、对智能合约进行执行的通证、对智能合约进行查询的通证、对合约方法进行执行的通证、对合约方法进行查询的通证等等。
节点设备生成该智能合约对应的各类型的权限通证之后,还为该智能合约分配合约地址,存储该合约地址、智能合约与权限通证的对应关系。
步骤102:接收用户发送的合约申请信息,该合约申请信息包括用户信息、合约地址及所申请的权限类型。
步骤103:根据合约申请信息判断是否允许该用户使用其所申请的权限类型,如果是,则执行步骤104。
当用户在进行业务交易的过程中可能需要使用智能合约对应的某些权限,此时用户发送合约申请信息给区块链系统中的节点设备,该合约申请信息包括用户信息、合约地址以及所申请的权限类型。节点设备根据该合约地址,确定用户所申请的智能合约对应的合约拥有者。发送该合约申请信息给合约拥有者。合约拥有者接收该合约申请信息,根据该合约申请信息包括的用户信息和所申请的权限类型,判断是否允许该用户使用所申请的权限类型的合约权限,如果是,则发送审核通过通知给节点设备,节点设备接收合约拥有者发送的审核通过通知,确定允许该用户使用其所申请的权限类型,后续执行步骤104。如果否,则发送审核失败通知给节点设备。节点设备确定不允许该用户使用其所申请的权限类型,发送审核失败指示给用户,以使用户知晓自己无权限使用其所申请的权限类型。
在本申请的另一些实施例中,也可以不由合约拥有者来审核是否允许该用户使用所申请的权限类型的合约权限。而是在节点设备生成该智能合约对应的各类型的权限通证后,将各类型的通证权限发送给合约拥有者。合约拥有者发送每种类型的权限通证对应的申请限制条件给节点设备,节点设备存储每种类型的权限通证与申请限制条件的对应关系。权限通证对应的申请限制条件用于规定申请该类型的权限通证的用户所需满足的条件。当用户需要使用智能合约对应的某些权限时,用户发送合约申请信息给区块链系统中的节点设备,该合约申请信息包括用户信息、合约地址以及所申请的权限类型。节点设备根据该合约地址,获取该合约地址对应智能合约对应的每种类型的权限通证,然后根据合约申请信息包括的所申请的权限类型,获取所申请的权限类型对应的申请限制条件。节点设备根据合约申请信息包括的用户信息,判断该用户信息是否满足该申请限制条件,若满足,则确定允许该用户使用其所申请的权限类型,后续执行步骤104。如果否,则确定不允许该用户使用其所申请的权限类型,发送审核失败指示给用户,以使用户知晓自己无权限使用其所申请的权限类型。
步骤104:根据合约申请信息包括的合约地址和所申请的权限类型,获取对应的权限通证。
根据合约申请信息包括的合约地址和所申请的权限类型,从该合约地址对应的智能合约与各类型的权限通证的对应关系中,获取对应的权限通证。
节点设备上存储有合约地址、智能合约与权限通证的对应关系。其中,该对应关系中存储了智能合约对应的多个权限通证,以及存储了每个权限通证对应的权限类型。上述合约申请信息包括用户信息、合约地址及所申请的权限类型。根据合约申请信息包括的合约地址,从存储的上述对应关系中查询该合约地址对应的一条记录,该条记录中包括该合约地址及其对应的智能合约和该智能合约对应的各权限类型的权限通证。根据该合约申请信息包括的所申请的权限类型,从查询出的记录中获取该权限类型对应的权限通证。
步骤105:通过私钥对该权限通证进行加密,将通证密文发送给用户。
在本申请实施例中,节点设备接收到合约拥有者发送的智能合约后,还通过预设非对称加密算法生成该智能合约对应的公钥和私钥。预设非对称加密算法可以为RSA或ECC(椭圆曲线加密算法)等。节点设备存储该智能合约的合约地址与该公钥及私钥的对应关系。
当用户申请权限通证时,通过上述步骤104的操作获得用户所申请的权限通证之后,获取该智能合约对应的私钥,利用该私钥对获取的权限通证进行加密,得到对应的通证密文,发送该通证密文给用户。
通过智能合约对应的私钥对权限通证进行加密,并传输通证密文给用户,确保了权限通证在网络传输过程中的安全性。
用户接收到该通证密文后,存储该通证密文。当用户需要使用申请的权限通证进行某交易处理时,用户发送交易信息给区块链系统中的节点设备,在该交易信息中携带上述通知密文及合约地址。
步骤106:接收用户发送的交易信息,该交易信息包括上述通证密文及合约地址,根据该通证密文及合约地址,执行该交易信息的交易处理。
节点设备接收用户发送的交易信息,根据该交易信息包括的合约地址,从合约地址、私钥和公钥的对应关系中获取对应的公钥,利用该公钥对交易信息包括的通证密文进行解密,得到解密后的权限通证。调用该权限通证中包括的合约方法执行该交易信息的交易处理。
在本申请实施例中,将智能合约的权限控制模板化,通过区块链的协议栈中的权限控制模块,或者通过用于权限控制的合约,来实现对智能合约的权限控制。如此合约拥有者无需自己编程来实现权限控制,只需将自己的智能合约发布到区块链中,调用协议栈中的权限控制模块或者调用用于权限控制的合约,即可自动解析用户的智能合约,生成该智能合约对应的不同类型的通证,以及实现各类型通证的颁发及调用执行。使合约权限控制成为区块链系统的通用功能,智能合约的拥有者都可以直接调用该功能实现合约的权限控制。
本申请实施例提供了一种智能合约的权限控制装置,该装置用于执行上述任一实施例所述的智能合约的权限控制方法,如图2所示,该装置包括:
接收模块201,用于接收合约拥有者发送的智能合约;
通证生成模块202,用于调用权限控制模板生成智能合约对应的各类型的权限通证,存储智能合约与权限通证的对应关系;
接收模块201,用于接收用户发送的合约申请信息,合约申请信息包括用户信息、合约地址及所申请的权限类型;
判断模块203,用于根据合约申请信息判断是否允许用户使用其所申请的权限类型;
通证获取模块204,用于如果判断模块203判断出允许用户使用其所申请的权限类型,则根据合约申请信息包括的合约地址和所申请的权限类型,获取对应的权限通证;
通证加密发送模块205,用于通过私钥对权限通证进行加密,将得到的通证密文发送给用户;
交易处理模块206,用于接收用户发送的交易信息,交易信息包括通证密文及合约地址,根据通证密文及合约地址,执行交易信息的交易处理。
通证生成模块202,用于调用权限控制模板对智能合约进行解析,识别出智能合约包括的合约方法,合约方法包括对交易进行处理的规则或函数;根据智能合约及其包括的合约方法,自动生成智能合约对应的权限通证,权限通证的类型包括对智能合约进行管理的通证、对智能合约进行执行的通证、对智能合约进行查询的通证、对合约方法进行执行的通证、对合约方法进行查询的通证中的一种或多种。
判断模块203,用于根据合约申请信息包括的合约地址,确定用户所申请的智能合约对应的合约拥有者;发送合约申请信息给合约拥有者,以使合约拥有者根据合约申请信息判断是否允许用户使用所申请的权限类型的合约权限;接收合约拥有者发送的审核通过通知,确定允许用户使用其所申请的权限类型;或者,接收合约拥有者发送的审核失败通知,确定不允许用户使用其所申请的权限类型,发送审核失败指示给用户。
判断模块203,用于根据合约申请信息包括的合约地址,获取合约地址对应的智能合约对应的每种类型的权限通证;根据合约申请信息包括的所申请的权限类型,获取所申请的权限类型对应的申请限制条件;根据合约申请信息包括的用户信息,判断用户信息是否满足申请限制条件;如果是,则确定允许用户使用其所申请的权限类型;如果否,则确定不允许用户使用其所申请的权限类型,发送审核失败指示给用户。
通证获取模块204,用于根据合约申请信息包括的合约地址,从存储的合约地址、智能合约与权限通证的对应关系中查询合约地址对应的一条记录,记录中包括合约地址及其对应的智能合约和该智能合约对应的各权限类型的权限通证;根据合约申请信息包括的所申请的权限类型,从查询出的记录中获取权限类型对应的权限通证。
该装置还包括:密钥生成模块,用于通过预设非对称加密算法生成智能合约对应的公钥和私钥;存储智能合约的合约地址与公钥及私钥的对应关系。
交易处理模块206,用于根据交易信息包括的合约地址,从合约地址、私钥和公钥的对应关系中获取对应的公钥;利用获取的公钥对交易信息包括的通证密文进行解密,得到解密后的权限通证;调用权限通证中包括的合约方法执行交易信息的交易处理。
在本申请实施例中,将智能合约的权限控制模板化,通过区块链的协议栈中的权限控制模块,或者通过用于权限控制的合约,来实现对智能合约的权限控制。如此合约拥有者无需自己编程来实现权限控制,只需将自己的智能合约发布到区块链中,调用协议栈中的权限控制模块或者调用用于权限控制的合约,即可自动解析用户的智能合约,生成该智能合约对应的不同类型的通证,以及实现各类型通证的颁发及调用执行。使合约权限控制成为区块链系统的通用功能,智能合约的拥有者都可以直接调用该功能实现合约的权限控制。
本申请实施例提供了一种计算机设备。如图3所示,该计算机设备包括通过装置总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作装置、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种智能合约的权限控制方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种智能合约的权限控制方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。在本申请实施例中计算机设备可以为区块链系统中的节点设备。处理器执行计算机程序时实现以下步骤:接收合约拥有者发送的智能合约,调用权限控制模板生成智能合约对应的各类型的权限通证,存储智能合约与权限通证的对应关系;接收用户发送的合约申请信息,合约申请信息包括用户信息、合约地址及所申请的权限类型;根据合约申请信息判断是否允许用户使用其所申请的权限类型;如果是,则根据合约申请信息包括的合约地址和所申请的权限类型,获取对应的权限通证;通过私钥对权限通证进行加密,将得到的通证密文发送给用户;接收用户发送的交易信息,交易信息包括通证密文及合约地址,根据通证密文及合约地址,执行交易信息的交易处理。
处理器执行计算机程序时还可以实现以下步骤:调用权限控制模板对智能合约进行解析,识别出智能合约包括的合约方法,合约方法包括对交易进行处理的规则或函数;根据智能合约及其包括的合约方法,自动生成智能合约对应的各类型的权限通证,权限通证的类型包括对智能合约进行管理的通证、对智能合约进行执行的通证、对智能合约进行查询的通证、对合约方法进行执行的通证、对合约方法进行查询的通证中的一种或多种。
处理器执行计算机程序时还可以实现以下步骤:根据合约申请信息包括的合约地址,确定用户所申请的智能合约对应的合约拥有者;发送合约申请信息给合约拥有者,以使合约拥有者根据合约申请信息判断是否允许用户使用所申请的权限类型的合约权限;接收合约拥有者发送的审核通过通知,确定允许用户使用其所申请的权限类型;或者,接收合约拥有者发送的审核失败通知,确定不允许用户使用其所申请的权限类型,发送审核失败指示给用户。
处理器执行计算机程序时还可以实现以下步骤:根据合约申请信息包括的合约地址,获取合约地址对应的智能合约对应的每种类型的权限通证;根据合约申请信息包括的所申请的权限类型,获取所申请的权限类型对应的申请限制条件;根据合约申请信息包括的用户信息,判断用户信息是否满足申请限制条件;如果是,则确定允许用户使用其所申请的权限类型;如果否,则确定不允许用户使用其所申请的权限类型,发送审核失败指示给用户。
处理器执行计算机程序时还可以实现以下步骤:根据合约申请信息包括的合约地址,从存储的合约地址、智能合约与权限通证的对应关系中查询合约地址对应的一条记录,记录中包括合约地址及其对应的智能合约和该智能合约对应的各权限类型的权限通证;根据合约申请信息包括的所申请的权限类型,从查询出的记录中获取权限类型对应的权限通证。
处理器执行计算机程序时还可以实现以下步骤:通过预设非对称加密算法生成智能合约对应的公钥和私钥;存储智能合约的合约地址与公钥及私钥的对应关系。
处理器执行计算机程序时还可以实现以下步骤:根据交易信息包括的合约地址,从合约地址、私钥和公钥的对应关系中获取对应的公钥;利用获取的公钥对交易信息包括的通证密文进行解密,得到解密后的权限通证;调用权限通证中包括的合约方法执行交易信息的交易处理。
本申请实施例还提出了一种存储有计算机可读指令的存储介质,如图4所示,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收合约拥有者发送的智能合约,调用权限控制模板生成智能合约对应的各类型的权限通证,存储智能合约与权限通证的对应关系;接收用户发送的合约申请信息,合约申请信息包括用户信息、合约地址及所申请的权限类型;根据合约申请信息判断是否允许用户使用其所申请的权限类型;如果是,则根据合约申请信息包括的合约地址和所申请的权限类型,获取对应的权限通证;通过私钥对权限通证进行加密,将得到的通证密文发送给用户;接收用户发送的交易信息,交易信息包括通证密文及合约地址,根据通证密文及合约地址,执行交易信息的交易处理。
处理器还可以执行以下步骤:调用权限控制模板对智能合约进行解析,识别出智能合约包括的合约方法,合约方法包括对交易进行处理的规则或函数;根据智能合约及其包括的合约方法,自动生成智能合约对应的各类型的权限通证,权限通证的类型包括对智能合约进行管理的通证、对智能合约进行执行的通证、对智能合约进行查询的通证、对合约方法进行执行的通证、对合约方法进行查询的通证中的一种或多种。
处理器还可以执行以下步骤:根据合约申请信息包括的合约地址,确定用户所申请的智能合约对应的合约拥有者;发送合约申请信息给合约拥有者,以使合约拥有者根据合约申请信息判断是否允许用户使用所申请的权限类型的合约权限;接收合约拥有者发送的审核通过通知,确定允许用户使用其所申请的权限类型;或者,接收合约拥有者发送的审核失败通知,确定不允许用户使用其所申请的权限类型,发送审核失败指示给用户。
处理器还可以执行以下步骤:根据合约申请信息包括的合约地址,获取合约地址对应的智能合约对应的每种类型的权限通证;根据合约申请信息包括的所申请的权限类型,获取所申请的权限类型对应的申请限制条件;根据合约申请信息包括的用户信息,判断用户信息是否满足申请限制条件;如果是,则确定允许用户使用其所申请的权限类型;如果否,则确定不允许用户使用其所申请的权限类型,发送审核失败指示给用户。
处理器还可以执行以下步骤:根据合约申请信息包括的合约地址,从存储的合约地址、智能合约与权限通证的对应关系中查询合约地址对应的一条记录,记录中包括合约地址及其对应的智能合约和该智能合约对应的各权限类型的权限通证;根据合约申请信息包括的所申请的权限类型,从查询出的记录中获取权限类型对应的权限通证。
处理器还可以执行以下步骤:通过预设非对称加密算法生成智能合约对应的公钥和私钥;存储智能合约的合约地址与公钥及私钥的对应关系。
处理器还可以执行以下步骤:根据交易信息包括的合约地址,从合约地址、私钥和公钥的对应关系中获取对应的公钥;利用获取的公钥对交易信息包括的通证密文进行解密,得到解密后的权限通证;调用权限通证中包括的合约方法执行交易信息的交易处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种智能合约的权限控制方法,其特征在于,包括:
接收合约拥有者发送的智能合约,调用权限控制模板生成所述智能合约对应的各类型的权限通证,存储所述智能合约与权限通证的对应关系;
接收用户发送的合约申请信息,所述合约申请信息包括用户信息、合约地址及所申请的权限类型;
根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型;
如果是,则根据所述合约申请信息包括的所述合约地址和所申请的权限类型,获取对应的权限通证;
通过私钥对所述权限通证进行加密,将得到的通证密文发送给所述用户;
接收所述用户发送的交易信息,所述交易信息包括所述通证密文及合约地址,根据所述通证密文及合约地址,执行所述交易信息的交易处理。
2.根据权利要求1所述的方法,其特征在于,所述调用权限控制模板生成所述智能合约对应的各类型的权限通证,包括:
调用权限控制模板对所述智能合约进行解析,识别出所述智能合约包括的合约方法,所述合约方法包括对交易进行处理的规则或函数;
根据所述智能合约及其包括的合约方法,自动生成所述智能合约对应的权限通证,权限通证的类型包括对智能合约进行管理的通证、对智能合约进行执行的通证、对智能合约进行查询的通证、对合约方法进行执行的通证、对合约方法进行查询的通证中的一种或多种。
3.根据权利要求1所述的方法,其特征在于,所述根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型,包括:
根据所述合约申请信息包括的合约地址,确定所述用户所申请的智能合约对应的合约拥有者;
发送所述合约申请信息给所述合约拥有者,以使所述合约拥有者根据所述合约申请信息判断是否允许所述用户使用所申请的权限类型的合约权限;
接收所述合约拥有者发送的审核通过通知,确定允许所述用户使用其所申请的权限类型;或者,
接收所述合约拥有者发送的审核失败通知,确定不允许所述用户使用其所申请的权限类型,发送审核失败指示给所述用户。
4.根据权利要求1所述的方法,其特征在于,所述根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型,包括:
根据所述合约申请信息包括的合约地址,获取所述合约地址对应的智能合约对应的每种类型的权限通证;
根据所述合约申请信息包括的所申请的权限类型,获取所申请的权限类型对应的申请限制条件;
根据所述合约申请信息包括的用户信息,判断所述用户信息是否满足所述申请限制条件;
如果是,则确定允许所述用户使用其所申请的权限类型;
如果否,则确定不允许所述用户使用其所申请的权限类型,发送审核失败指示给所述用户。
5.根据权利要求1所述的方法,其特征在于,所述根据所述合约申请信息包括的所述合约地址和所申请的权限类型,获取对应的权限通证,包括:
根据所述合约申请信息包括的合约地址,从存储的合约地址、智能合约与权限通证的对应关系中查询所述合约地址对应的一条记录,所述记录中包括所述合约地址及其对应的智能合约和该智能合约对应的各权限类型的权限通证;
根据所述合约申请信息包括的所申请的权限类型,从查询出的记录中获取所述权限类型对应的权限通证。
6.根据权利要求1所述的方法,其特征在于,所述接收合约拥有者发送的智能合约之后,还包括:
通过预设非对称加密算法生成所述智能合约对应的公钥和私钥;
存储所述智能合约的合约地址与所述公钥及所述私钥的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述根据所述通证密文及合约地址,执行所述交易信息的交易处理,包括:
根据所述交易信息包括的合约地址,从合约地址、私钥和公钥的对应关系中获取对应的公钥;
利用获取的所述公钥对所述交易信息包括的通证密文进行解密,得到解密后的权限通证;
调用所述权限通证中包括的合约方法执行所述交易信息的交易处理。
8.一种智能合约的权限控制装置,其特征在于,包括:
接收模块,用于接收合约拥有者发送的智能合约;
通证生成模块,用于调用权限控制模板生成所述智能合约对应的各类型的权限通证,存储所述智能合约与权限通证的对应关系;
所述接收模块,用于接收用户发送的合约申请信息,所述合约申请信息包括用户信息、合约地址及所申请的权限类型;
判断模块,用于根据所述合约申请信息判断是否允许所述用户使用其所申请的权限类型;
通证获取模块,用于如果所述判断模块判断出允许所述用户使用其所申请的权限类型,则根据所述合约申请信息包括的所述合约地址和所申请的权限类型,获取对应的权限通证;
通证加密发送模块,用于通过私钥对所述权限通证进行加密,将得到的通证密文发送给所述用户;
交易处理模块,用于接收所述用户发送的交易信息,所述交易信息包括所述通证密文及合约地址,根据所述通证密文及合约地址,执行所述交易信息的交易处理。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110449123.3A CN113065111A (zh) | 2021-04-25 | 2021-04-25 | 一种智能合约的权限控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110449123.3A CN113065111A (zh) | 2021-04-25 | 2021-04-25 | 一种智能合约的权限控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113065111A true CN113065111A (zh) | 2021-07-02 |
Family
ID=76567687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110449123.3A Pending CN113065111A (zh) | 2021-04-25 | 2021-04-25 | 一种智能合约的权限控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065111A (zh) |
-
2021
- 2021-04-25 CN CN202110449123.3A patent/CN113065111A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090876B (zh) | 调用合约的方法及装置 | |
CN111654367B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
RU2501081C2 (ru) | Многофакторная защита контента | |
US8667287B2 (en) | Transaction auditing for data security devices | |
CN111523110B (zh) | 基于链代码的权限查询配置方法及装置 | |
US7051211B1 (en) | Secure software distribution and installation | |
US7526649B2 (en) | Session key exchange | |
CN111914293B (zh) | 一种数据访问权限验证方法、装置、计算机设备及存储介质 | |
US11025415B2 (en) | Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device | |
CN113438205B (zh) | 区块链数据访问控制方法、节点以及系统 | |
CN111340483A (zh) | 一种基于区块链的数据管理方法及相关设备 | |
CN111880919A (zh) | 数据调度方法、系统和计算机设备 | |
CN111669271A (zh) | 用于区块链的凭证管理方法、凭证验证方法以及相关装置 | |
CN113901432A (zh) | 区块链身份认证方法、设备、存储介质及计算机程序产品 | |
CN114448648B (zh) | 基于rpa的敏感凭据管理方法及系统 | |
CN115883154A (zh) | 访问凭证的颁发方法、基于区块链的数据访问方法及装置 | |
CN112887087B (zh) | 数据管理方法、装置、电子设备及可读存储介质 | |
CN114091058A (zh) | 在第一区域和第二区域间数据安全共享的方法和系统 | |
CN112187767A (zh) | 基于区块链的多方合同共识系统、方法及介质 | |
CN113065111A (zh) | 一种智能合约的权限控制方法、装置、设备及存储介质 | |
CN112733130B (zh) | 账户注册方法、装置、电子设备及可读存储介质 | |
CN115766064A (zh) | 一种密码应用方法、装置、设备及存储介质 | |
CN111431880B (zh) | 一种信息处理方法及装置 | |
CN111082928B (zh) | 密钥分发方法、分发系统及计算机可读存储介质 | |
CN114978490A (zh) | 隐私数据的加密方法及装置、处理器和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051209 Country of ref document: HK |