CN113034140A - 实现智能合约加密的方法、系统、设备及存储介质 - Google Patents
实现智能合约加密的方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113034140A CN113034140A CN202110286313.8A CN202110286313A CN113034140A CN 113034140 A CN113034140 A CN 113034140A CN 202110286313 A CN202110286313 A CN 202110286313A CN 113034140 A CN113034140 A CN 113034140A
- Authority
- CN
- China
- Prior art keywords
- contract
- equipment
- ciphertext
- identification
- plaintext
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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
- 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
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提出一种实现智能合约加密的方法、系统、设备及存储介质,该方法包括:合约服务设备接收用户发送的合约部署请求,为待部署的智能合约分配合约标识,生成智能合约对应的私钥和公钥,存储合约标识与私钥的对应关系,将合约标识及公钥发送给用户;节点设备接收用户发送的合约标识及对应的合约密文,将合约标识与合约密文对应存储在区块链中,接收用户发送的交易信息,根据交易信息包括的合约标识,获取对应的合约密文,根据交易信息包括的合约标识以及获取的合约密文,执行交易信息的交易处理。本申请在区块链中以密文形式部署智能合约,只有合约服务设备才能解密,确保了智能合约的数据安全性,能有效避免智能合约中的隐私数据泄露。
Description
技术领域
本申请属于区块链技术领域,具体涉及一种实现智能合约加密的方法、系统、设备及存储介质。
背景技术
区块链技术通过去中心化、去信任的方式集体维护一个可靠数据库,解决交易的信任和安全问题。隐私性一直是区块链领域一个重要的话题。区块链作为一门新兴的技术,必要的隐私保护是推广的关键。绝大部分的应用场景,比如交易,都需要有弹性的隐私保护。如何更好地在区块链中加入隐私的元素一直是被不断探索的问题。
在当前的区块链系统中,所有参与共识的节点必须拥有交易和智能合约的真实数据,才能完成计算,并对状态达成共识。由于合约中可能会包含一些身份信息、商业机密等隐私信息,所有参与共识的节点都拥有智能合约的真实数据,导致智能合约中的隐私数据存在安全风险,使得区块链的实用性降低。
发明内容
本申请提出一种实现智能合约加密的方法、系统、设备及存储介质,在区块链中以密文形式部署智能合约,只有合约服务设备才能解密,确保了智能合约的数据安全性,能有效避免智能合约中的隐私数据泄露。
本申请第一方面实施例提出了一种实现智能合约加密的方法,包括:
合约服务设备接收用户发送的合约部署请求,为待部署的智能合约分配合约标识;
所述合约服务设备生成所述智能合约对应的私钥和公钥,存储所述合约标识与所述私钥的对应关系,将所述合约标识及所述公钥发送给用户;
节点设备接收所述用户发送的所述合约标识及对应的合约密文,所述合约密文是用所述公钥加密所述智能合约得到的,将所述合约标识与所述合约密文对应存储在区块链中;
所述节点设备接收所述用户发送的交易信息,根据所述交易信息包括的合约标识,获取对应的合约密文;
所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理。
在本申请的一些实施例中,所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理,包括:
所述节点设备发送所述交易信息包括的合约标识及所述合约标识对应的合约密文给所述合约服务设备;
所述合约服务设备根据所述合约标识获取对应的私钥,利用所述私钥对所述合约密文解密得到合约明文,发送所述合约明文给所述节点设备;
所述节点设备接收所述合约明文,根据所述合约明文执行所述交易信息的交易处理得到交易结果。
在本申请的一些实施例中,所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理,包括:
所述节点设备发送自身的设备标识、所述交易信息包括的合约标识及所述合约标识对应的合约密文给所述合约服务设备;
所述合约服务设备根据所述合约标识获取对应的私钥,利用所述私钥对所述合约密文解密得到合约明文;
所述合约服务设备根据所述节点设备的设备标识和,为所述节点设备提供所述合约明文,以使所述节点设备根据所述合约明文执行所述交易信息的交易处理。
在本申请的一些实施例中,所述约服务设备根据所述节点设备的设备标识和,为所述节点设备提供所述合约明文,以使所述节点设备根据所述合约明文执行所述交易信息的交易处理,包括:
所述约服务设备对所述节点设备的设备标识进行哈希运算,利用得到的哈希值对所述合约明文进行签名,得到所述合约明文对应的签名信息,发送所述签名信息给所述节点设备;
所述节点设备接收所述签名信息,对自身的设备标识进行哈希运算,利用得到的哈希值对所述签名信息进行解密,得到所述合约明文;根据所述合约明文执行所述交易信息的交易处理得到交易结果。
在本申请的一些实施例中,所述节点设备根据所述合约明文执行所述交易信息的交易处理得到交易结果之后,还包括:
所述节点设备删除所述合约明文;或者,
所述节点设备对自身的设备标识进行哈希运算,利用得到的哈希值对所述合约明文进行签名,将得到的签名信息存储在本地缓存中。
在本申请的一些实施例中,所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理,包括:
所述节点设备发送所述交易信息包括的合约标识、所述合约标识对应的合约密文及所述交易信息给所述合约服务设备;
所述合约服务设备根据所述合约标识获取对应的私钥,利用所述私钥对所述合约密文解密得到合约明文;
所述合约服务设备根据所述合约明文执行所述交易信息得到交易结果,发送所述交易结果给所述节点设备。
在本申请的一些实施例中,所述方法还包括:
所述节点设备发送自身的设备标识给所述合约服务设备;
所述合约服务设备对所述节点设备的设备标识进行哈希运算,利用得到的哈希值对所述交易结果进行加密,将加密后的所述交易结果发送给所述节点设备。
本申请第二方面的实施例提供了一种实现智能合约加密的系统,包括:
合约服务设备,用于接收用户发送的合约部署请求,为待部署的智能合约分配合约标识;生成所述智能合约对应的私钥和公钥,存储所述合约标识与所述私钥的对应关系,将所述合约标识及所述公钥发送给用户;
节点设备,用于接收所述用户发送的所述合约标识及对应的合约密文,所述合约密文是用所述公钥加密所述智能合约得到的,将所述合约标识与所述合约密文对应存储在区块链中;接收所述用户发送的交易信息,根据所述交易信息包括的合约标识,获取对应的合约密文;根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理。
本申请第三方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述第一方面所述的方法的步骤。
本申请第四方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面所述的方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例在区块链系统中以合约密文的形式来部署智能合约,确保了智能合约的数据安全性,能够有效避免智能合约中的隐私数据泄露。在交易执行过程中,只有合约服务设备才能对合约密文解密,区块链系统中的节点设备只有在使用智能合约时才从合约服务上获取合约明文,使合约明文只在少数几个设备上暴露,大大减少获得合约密文的节点设备的数目,确保智能合约的数据安全。更进一步地,还可以由合约服务设备根据解密得到的合约明文完成交易信息的交易处理,不将该合约明文发送给任何节点设备,避免合约明文在网络传输过程中的泄漏风险。只有合约服务设备能够获得合约明文,最大程度地保障了智能合约的数据安全,避免了智能合约中的隐私数据泄漏。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请一实施例所提供的一种实现智能合约加密的方法的流程图;
图2示出了本申请一实施例所提供的一种实现智能合约加密的系统的结构示意图;
图3示出了本申请一实施例所提供的一种计算机设备的结构示意图;
图4示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请的一些实施例提供了一种实现智能合约加密的方法,该方法对智能合约进行加密,只有合约服务设备才能对合约密文进行解密,提高了智能合约中隐私数据的安全。
参见图1,该方法具体包括以下步骤:
步骤101:合约服务设备接收用户发送的合约部署请求,为待部署的智能合约分配合约标识。
合约服务设备中配置有合约服务程序,该合约服务程序用于对合约密文进行解密。合约服务设备可以为区块链系统中的任意一个或多个节点设备。合约服务设备还可以为区块链系统的边缘设备,如用于解密合约密文的终端或服务器等。或者,合约服务设备还可以为部署微服务架构的区块链协议栈的全部或部分微服务的设备,在该应用场景下合约服务设备中配置的合约服务程序即为用于解密合约密文的合约微服务。
当用户制定好智能合约后,需要将该智能合约部署到区块链系统中。用户通过自己的手机或电脑等终端发送该智能合约对应的合约部署请求给合约服务设备,用户的终端可以直接将该合约部署请求发送给合约服务设备。或者,用户的终端可以先将该合约部署请求发送给区块链系统中的一个节点设备,该节点设备可以为距离该用户最近的节点设备。该节点设备接收到该合约部署请求之后,确定该请求为合约部署请求后将其转发给合约服务设备。
合约服务设备接收到该合约部署请求后,通过随机数生成器生成一个随机数,将该随机数作为该合约部署请求对应的智能合约的合约标识,该合约标识用于唯一标识该智能合约。
步骤102:合约服务设备生成该智能合约对应的私钥和公钥,存储该合约标识与私钥的对应关系,将该合约标识及该公钥发送给用户。
合约服务设备为待部署的智能合约分配合约标识后,通过预设非对称加密算法生成该智能合约对应的私钥和公钥,预设非对称加密算法可以为RSA(RSA algorithm)或ECC(椭圆曲线加密算法)等。合约服务设备在本地内存中存储该合约标识与生成的私钥的对应关系,然后将该合约标识和生成的公钥发送给用户。
用户的终端接收到该合约标识和公钥后,将该合约标识、该智能合约和该公钥对应存储在本地。然后用户终端利用该公钥对该智能合约加密,得到对应的合约密文,发送该合约标识及该合约密文给区块链系统中的一个节点设备,该节点设备可以为距离用户最近的节点设备。
步骤103:节点设备接收用户发送的合约标识及对应的合约密文,该合约密文是用该公钥加密该智能合约得到的,将该合约标识与合约密文对应存储在区块链中。
区块链系统中的节点设备接收到用户的终端发送的合约标识和对应的合约密文后,在本地链中存储该合约标识和该合约密文的对应关系。并将该合约标识和该合约密文发送给与该节点设备相邻的每个节点设备。相邻的每个节点设备接收到后,继续转发给与各自相邻的节点设备,如此经过多次转发之后可将该合约标识及该合约密文传播到区块链系统中的每个节点设备。区块链系统中每个接收到该合约标识及该合约密文的节点设备,都在各自的本地链中存储该合约标识和该合约密文的对应关系。如此区块链系统中每个节点设备都存储之后,后续任一节点设备接收到需要使用该合约标识对应的智能合约的交易信息时都可以完成对交易信息的处理。
通过上述方式实现了对智能合约进行加密,在区块链系统中以合约密文的形式来部署智能合约,确保了智能合约的数据安全性,能够有效避免智能合约中的隐私数据泄露。
步骤104:节点设备接收用户发送的交易信息,根据该交易信息包括的合约标识,获取对应的合约密文。
当用户需要在区块链系统中进行该智能合约对应的交易时,用户通过自己的终端发送交易信息给区块链中的一个节点设备,该节点设备可以为距离用户最近的节点设备。该交易信息中包括所需使用的智能合约对应的合约标识。该节点设备接收到该交易信息后,从该交易信息中解析出该合约标识,从本地链中存储的合约标识与合约密文的对应关系中,获取该合约标识对应的合约密文。
步骤105:节点设备根据该合约标识和该合约密文,执行该交易信息的交易处理。
该节点设备获得该交易信息对应的合约密文后,根据该合约标识和该合约密文完成对该交易信息的交易处理。在本申请实施例中可以通过如下步骤1051-1053的操作来实现交易处理。
步骤1051:节点设备发送该合约标识及合约密文给合约服务设备。
该节点设备发送该交易信息对应的合约标识及合约密文给合约服务设备。
步骤1052:合约服务设备根据该合约标识获取对应的私钥,利用该私钥对该合约密文解密得到合约明文,发送该合约明文给节点设备。
合约服务设备接收到该节点设备发送的合约标识和合约密文后,从本地内存中存储的合约标识与私钥的对应关系中获取该合约标识对应的私钥。利用该私钥对该合约密文进行解密,得到对应的合约明文。然后将该合约明文返回给该节点设备。
步骤1053:节点设备接收该合约明文,根据该合约明文执行该交易信息的交易处理得到交易结果。
节点设备接收合约服务设备发送的合约明文,根据该合约明文完成该交易信息的交易处理得到交易结果,将该交易信息及交易结果存储在本地链中,并将该交易信息及交易结果传播到区块链系统中的其他每个阶段设备,其他每个节点设备也在各自的本地链中存储该交易信息及交易结果,以对本次交易达成共识并同步记账。
通过步骤1051-1053的操作来实现该交易处理,只有合约服务设备能够对合约密文进行解密,区块链系统中的任一节点设备都无法解密合约密文。且只有合约服务设备及执行该交易的节点设备能够获得合约明文,使合约明文只在少数几个设备上暴露,大大减少获得合约密文的节点设备的数目,确保智能合约的数据安全。
在本申请的另一些实施例中,还可以通过如下步骤1054-1056的操作来实现该交易处理,在该种实现方式中合约服务设备将合约密文发送给节点设备之前对合约明文进行了签名加密,以确保智能合约在合约服务设备与节点设备之间进行网络传输过程中的数据安全。
步骤1054:节点设备发送自身的设备标识、交易信息包括的合约标识及合约标识对应的合约密文给合约服务设备。
该节点设备除了发送该交易信息对应的合约标识及合约密文给合约服务设备外,还将自身的设备标识发送给合约服务设备。
步骤1055:合约服务设备根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文。
合约服务设备接收到该节点设备发送的合约标识、合约密文后,从本地内存中存储的合约标识与私钥的对应关系中获取该合约标识对应的私钥。利用该私钥对该合约密文进行解密,得到对应的合约明文。
步骤1056:合约服务设备根据节点设备的设备标识和,为节点设备提供合约明文,以使节点设备根据合约明文执行交易信息的交易处理。
具体地,合约服务设备对节点设备的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,得到合约明文对应的签名信息,发送该签名信息给节点设备。节点设备接收该签名信息,对自身的设备标识进行哈希运算,利用得到的哈希值对签名信息进行解密,得到合约明文;根据合约明文执行交易信息的交易处理得到交易结果。
在上述1051-1053以及1054-1056的交易处理方式中,节点设备获得了合约明文,并依据合约明文进行交易处理。在得到交易结果之后,节点设备可以删除该合约明文,以防恶意份子侵入该节点设备获取合约明文,避免合约明文的数据泄露。或者,节点设备可以对自身的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,将得到的签名信息存储在本地缓存中。将智能合约以加密后的签名信息的方式存储在节点设备中,能够有效防止智能合约中隐私数据的泄漏,提高了智能合约的数据安全。
在本申请的另一些实施例中,还可以采用如下步骤1057-1059的操作来实现该交易处理。
步骤1057:节点设备发送该合约标识、合约密文及交易信息给合约服务设备。
该节点设备除了发送该交易信息对应的合约标识及合约密文给合约服务设备外,还将该交易信息发送给合约服务设备。
步骤1058:合约服务设备根据该合约标识获取对应的私钥,利用该私钥对该合约密文解密得到合约明文。
合约服务设备接收到该节点设备发送的合约标识、合约密文及交易信息后,从本地内存中存储的合约标识与私钥的对应关系中获取该合约标识对应的私钥。利用该私钥对该合约密文进行解密,得到对应的合约明文。
步骤1059:合约服务设备根据该合约明文执行该交易信息得到交易结果,发送该交易结果给节点设备。
合约服务设备获得该交易信息对应的合约明文后,根据该合约明文完成该交易信息的交易处理得到交易结果,将该交易结果返回给该节点设备。该节点设备接收合约服务设备发送的该交易结果,将该交易信息及交易结果存储在本地链中,并将该交易信息及交易结果传播到区块链系统中的其他每个阶段设备,其他每个节点设备也在各自的本地链中存储该交易信息及交易结果,以对本次交易达成共识并同步记账。
通过上述步骤1057-1059的操作来实现该交易处理,只有合约服务设备能够对合约密文进行解密,区块链系统中的任一节点设备都无法解密合约密文。且由合约服务设备根据合约明文完成该交易信息的交易处理,不将该合约明文发送给任何节点设备,避免合约明文在网络传输过程中的泄漏风险。只有合约服务设备能够获得合约明文,最大程度地保障了智能合约的数据安全,避免了智能合约中的隐私数据泄漏。
在上述步骤1057-1059的交易处理方式中,节点设备还可以发送自身的设备标识给合约服务设备;合约服务设备向节点设备发送交易结果之前,还可以先对节点设备的设备标识进行哈希运算,利用得到的哈希值对交易结果进行加密,将加密后的交易结果发送给节点设备。节点设备接收到交易结果的加密数据之后,对自身的设备标识进行哈希运算,利用得到的哈希值对该加密数据进行解密,得到本次交易的交易结果。如此提高了交易结果在网络传输过程中的安全性,减少交易结果被盗取或篡改的情况。
本申请实施例在区块链系统中以合约密文的形式来部署智能合约,确保了智能合约的数据安全性,能够有效避免智能合约中的隐私数据泄露。在交易执行过程中,只有合约服务设备才能对合约密文解密,区块链系统中的节点设备只有在使用智能合约时才从合约服务上获取合约明文,使合约明文只在少数几个设备上暴露,大大减少获得合约密文的节点设备的数目,确保智能合约的数据安全。更进一步地,还可以由合约服务设备根据解密得到的合约明文完成交易信息的交易处理,不将该合约明文发送给任何节点设备,避免合约明文在网络传输过程中的泄漏风险。只有合约服务设备能够获得合约明文,最大程度地保障了智能合约的数据安全,避免了智能合约中的隐私数据泄漏。
本申请实施例提供了一种实现智能合约加密的系统,该系统用于执行上述任一实施例所述的实现智能合约加密的方法,如图2所示,该系统包括:
合约服务设备201,用于接收用户发送的合约部署请求,为待部署的智能合约分配合约标识;生成智能合约对应的私钥和公钥,存储合约标识与私钥的对应关系,将合约标识及公钥发送给用户;
节点设备202,用于接收用户发送的合约标识及对应的合约密文,合约密文是用公钥加密智能合约得到的,将合约标识与合约密文对应存储在区块链中;接收用户发送的交易信息,根据交易信息包括的合约标识,获取对应的合约密文;根据交易信息包括的合约标识以及获取的合约密文,执行交易信息的交易处理。
节点设备202,用于发送交易信息包括的合约标识及合约标识对应的合约密文给合约服务设备201;
合约服务设备201,用于根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文,发送合约明文给节点设备202;
节点设备202,用于接收合约明文,根据合约明文执行交易信息的交易处理得到交易结果。
节点设备202,用于发送自身的设备标识、交易信息包括的合约标识及合约标识对应的合约密文给合约服务设备201;
合约服务设备201,用于根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文;
合约服务设备201,用于根据节点设备202的设备标识和,为节点设备202提供合约明文,以使节点设备202根据合约明文执行交易信息的交易处理。
合约服务设备201,用于对节点设备202的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,得到合约明文对应的签名信息,发送签名信息给节点设备202;
节点设备202,用于接收签名信息,对自身的设备标识进行哈希运算,利用得到的哈希值对签名信息进行解密,得到合约明文;根据合约明文执行交易信息的交易处理得到交易结果。
节点设备202根据合约明文执行交易信息的交易处理得到交易结果之后,还包括:节点设备202,用于删除合约明文;或者,对自身的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,将得到的签名信息存储在本地缓存中。
节点设备202,用于发送交易信息包括的合约标识、合约标识对应的合约密文及交易信息给合约服务设备201;
合约服务设备201,用于根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文;
合约服务设备201,用于根据合约明文执行交易信息得到交易结果,发送交易结果给节点设备202。
节点设备202,用于发送自身的设备标识给合约服务设备201;
合约服务设备201,用于对节点设备202的设备标识进行哈希运算,利用得到的哈希值对交易结果进行加密,将加密后的交易结果发送给节点设备202。
本申请实施例在区块链系统中以合约密文的形式来部署智能合约,确保了智能合约的数据安全性,能够有效避免智能合约中的隐私数据泄露。在交易执行过程中,只有合约服务设备201才能对合约密文解密,区块链系统中的节点设备只有在使用智能合约时才从合约服务上获取合约明文,使合约明文只在少数几个设备上暴露,大大减少获得合约密文的节点设备的数目,确保智能合约的数据安全。更进一步地,还可以由合约服务设备201根据解密得到的合约明文完成交易信息的交易处理,不将该合约明文发送给任何节点设备,避免合约明文在网络传输过程中的泄漏风险。只有合约服务设备201能够获得合约明文,最大程度地保障了智能合约的数据安全,避免了智能合约中的隐私数据泄漏。
本申请实施例提供了一种计算机设备。如图3所示,该计算机设备包括通过系统总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种实现智能合约加密的方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种实现智能合约加密的方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。在本申请实施例中,该计算机设备可以为合约服务设备或区块链中的节点设备。当该计算机设备为合约服务设备时,处理器执行计算机程序时实现以下步骤:接收用户发送的合约部署请求,为待部署的智能合约分配合约标识;生成智能合约对应的私钥和公钥,存储合约标识与私钥的对应关系,将合约标识及公钥发送给用户。
当该计算机设备为节点设备时,处理器执行计算机程序时实现以下步骤:接收用户发送的合约标识及对应的合约密文,合约密文是用公钥加密智能合约得到的,将合约标识与合约密文对应存储在区块链中;接收用户发送的交易信息,根据交易信息包括的合约标识,获取对应的合约密文;根据交易信息包括的合约标识以及获取的合约密文,执行交易信息的交易处理。
当该计算机设备为节点设备时,处理器执行计算机程序时还可以实现以下步骤:发送交易信息包括的合约标识及合约标识对应的合约密文给合约服务设备;接收合约服务设备发送的合约明文,根据合约明文执行交易信息的交易处理得到交易结果。该计算机设备为合约服务设备时,处理器执行计算机程序时还可以实现以下步骤:根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文,发送合约明文给节点设备。
当该计算机设备为节点设备时,处理器执行计算机程序时还可以实现以下步骤:发送自身的设备标识、交易信息包括的合约标识及合约标识对应的合约密文给合约服务设备。该计算机设备为合约服务设备时,处理器执行计算机程序时还可以实现以下步骤:根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文;根据节点设备的设备标识和,为节点设备提供合约明文,以使节点设备根据合约明文执行交易信息的交易处理。
该计算机设备为合约服务设备时,处理器执行计算机程序时还可以实现以下步骤:处理器执行计算机程序时还可以实现以下步骤:对节点设备的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,得到合约明文对应的签名信息,发送签名信息给节点设备。该计算机设备为节点设备时,处理器执行计算机程序时还可以实现以下步骤:接收签名信息,对自身的设备标识进行哈希运算,利用得到的哈希值对签名信息进行解密,得到合约明文;根据合约明文执行交易信息的交易处理得到交易结果;之后删除合约明文;或者,对自身的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,将得到的签名信息存储在本地缓存中。
该计算机设备为节点设备时,处理器执行计算机程序时还可以实现以下步骤:发送交易信息包括的合约标识、合约标识对应的合约密文及交易信息给合约服务设备。该计算机设备为合约服务设备时,处理器执行计算机程序时还可以实现以下步骤:根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文;根据合约明文执行交易信息得到交易结果,发送交易结果给节点设备。
该计算机设备为节点设备时,处理器执行计算机程序时还可以实现以下步骤:发送自身的设备标识给合约服务设备。该计算机设备为合约服务设备时,处理器执行计算机程序时还可以实现以下步骤:对节点设备的设备标识进行哈希运算,利用得到的哈希值对交易结果进行加密,将加密后的交易结果发送给节点设备。
本申请实施例还提出了一种存储有计算机可读指令的存储介质,如图4所示,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:合约服务设备接收用户发送的合约部署请求,为待部署的智能合约分配合约标识;合约服务设备生成智能合约对应的私钥和公钥,存储合约标识与私钥的对应关系,将合约标识及公钥发送给用户;节点设备接收用户发送的合约标识及对应的合约密文,合约密文是用公钥加密智能合约得到的,将合约标识与合约密文对应存储在区块链中;节点设备接收用户发送的交易信息,根据交易信息包括的合约标识,获取对应的合约密文;节点设备根据交易信息包括的合约标识以及获取的合约密文,执行交易信息的交易处理。
处理器还可以执行以下步骤:节点设备发送交易信息包括的合约标识及合约标识对应的合约密文给合约服务设备;合约服务设备根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文,发送合约明文给节点设备;节点设备接收合约明文,根据合约明文执行交易信息的交易处理得到交易结果。
处理器还可以执行以下步骤:节点设备发送自身的设备标识、交易信息包括的合约标识及合约标识对应的合约密文给合约服务设备;合约服务设备根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文;合约服务设备根据节点设备的设备标识和,为节点设备提供合约明文,以使节点设备根据合约明文执行交易信息的交易处理。
处理器还可以执行以下步骤:合约服务设备对节点设备的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,得到合约明文对应的签名信息,发送签名信息给节点设备;节点设备接收签名信息,对自身的设备标识进行哈希运算,利用得到的哈希值对签名信息进行解密,得到合约明文;根据合约明文执行交易信息的交易处理得到交易结果。
处理器还可以执行以下步骤:节点设备删除合约明文;或者,节点设备对自身的设备标识进行哈希运算,利用得到的哈希值对合约明文进行签名,将得到的签名信息存储在本地缓存中。
处理器还可以执行以下步骤:节点设备发送交易信息包括的合约标识、合约标识对应的合约密文及交易信息给合约服务设备;合约服务设备根据合约标识获取对应的私钥,利用私钥对合约密文解密得到合约明文;合约服务设备根据合约明文执行交易信息得到交易结果,发送交易结果给节点设备。
处理器还可以执行以下步骤:节点设备发送自身的设备标识给合约服务设备;合约服务设备对节点设备的设备标识进行哈希运算,利用得到的哈希值对交易结果进行加密,将加密后的交易结果发送给节点设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等,或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种实现智能合约加密的方法,其特征在于,包括:
合约服务设备接收用户发送的合约部署请求,为待部署的智能合约分配合约标识;
所述合约服务设备生成所述智能合约对应的私钥和公钥,存储所述合约标识与所述私钥的对应关系,将所述合约标识及所述公钥发送给用户;
节点设备接收所述用户发送的所述合约标识及对应的合约密文,所述合约密文是用所述公钥加密所述智能合约得到的,将所述合约标识与所述合约密文对应存储在区块链中;
所述节点设备接收所述用户发送的交易信息,根据所述交易信息包括的合约标识,获取对应的合约密文;
所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理。
2.根据权利要求1所述的方法,其特征在于,所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理,包括:
所述节点设备发送所述交易信息包括的合约标识及所述合约标识对应的合约密文给所述合约服务设备;
所述合约服务设备根据所述合约标识获取对应的私钥,利用所述私钥对所述合约密文解密得到合约明文,发送所述合约明文给所述节点设备;
所述节点设备接收所述合约明文,根据所述合约明文执行所述交易信息的交易处理得到交易结果。
3.根据权利要求1所述的方法,其特征在于,所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理,包括:
所述节点设备发送自身的设备标识、所述交易信息包括的合约标识及所述合约标识对应的合约密文给所述合约服务设备;
所述合约服务设备根据所述合约标识获取对应的私钥,利用所述私钥对所述合约密文解密得到合约明文;
所述合约服务设备根据所述节点设备的设备标识和,为所述节点设备提供所述合约明文,以使所述节点设备根据所述合约明文执行所述交易信息的交易处理。
4.根据权利要求3所述的方法,其特征在于,所述合约服务设备根据所述节点设备的设备标识和,为所述节点设备提供所述合约明文,以使所述节点设备根据所述合约明文执行所述交易信息的交易处理,包括:
所述合约服务设备对所述节点设备的设备标识进行哈希运算,利用得到的哈希值对所述合约明文进行签名,得到所述合约明文对应的签名信息,发送所述签名信息给所述节点设备;
所述节点设备接收所述签名信息,对自身的设备标识进行哈希运算,利用得到的哈希值对所述签名信息进行解密,得到所述合约明文;根据所述合约明文执行所述交易信息的交易处理得到交易结果。
5.根据权利要求2或4所述的方法,其特征在于,所述节点设备根据所述合约明文执行所述交易信息的交易处理得到交易结果之后,还包括:
所述节点设备删除所述合约明文;或者,
所述节点设备对自身的设备标识进行哈希运算,利用得到的哈希值对所述合约明文进行签名,将得到的签名信息存储在本地缓存中。
6.根据权利要求1所述的方法,其特征在于,所述节点设备根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理,包括:
所述节点设备发送所述交易信息包括的合约标识、所述合约标识对应的合约密文及所述交易信息给所述合约服务设备;
所述合约服务设备根据所述合约标识获取对应的私钥,利用所述私钥对所述合约密文解密得到合约明文;
所述合约服务设备根据所述合约明文执行所述交易信息得到交易结果,发送所述交易结果给所述节点设备。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述节点设备发送自身的设备标识给所述合约服务设备;
所述合约服务设备对所述节点设备的设备标识进行哈希运算,利用得到的哈希值对所述交易结果进行加密,将加密后的所述交易结果发送给所述节点设备。
8.一种实现智能合约加密的系统,其特征在于,包括:
合约服务设备,用于接收用户发送的合约部署请求,为待部署的智能合约分配合约标识;生成所述智能合约对应的私钥和公钥,存储所述合约标识与所述私钥的对应关系,将所述合约标识及所述公钥发送给用户;
节点设备,用于接收所述用户发送的所述合约标识及对应的合约密文,所述合约密文是用所述公钥加密所述智能合约得到的,将所述合约标识与所述合约密文对应存储在区块链中;接收所述用户发送的交易信息,根据所述交易信息包括的合约标识,获取对应的合约密文;根据所述交易信息包括的合约标识以及获取的所述合约密文,执行所述交易信息的交易处理。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286313.8A CN113034140B (zh) | 2021-03-17 | 2021-03-17 | 实现智能合约加密的方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286313.8A CN113034140B (zh) | 2021-03-17 | 2021-03-17 | 实现智能合约加密的方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113034140A true CN113034140A (zh) | 2021-06-25 |
CN113034140B CN113034140B (zh) | 2023-07-18 |
Family
ID=76471290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110286313.8A Active CN113034140B (zh) | 2021-03-17 | 2021-03-17 | 实现智能合约加密的方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113034140B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115051799A (zh) * | 2022-06-13 | 2022-09-13 | 北京天华星航科技有限公司 | 一种基于区块链的数字信息处理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038638A (zh) * | 2017-02-24 | 2017-08-11 | 杭州象链网络技术有限公司 | 一种基于联盟链的股权登记交易系统构建方法 |
CN107342858A (zh) * | 2017-07-05 | 2017-11-10 | 武汉凤链科技有限公司 | 一种基于可信环境的智能合约保护方法和系统 |
CN108235772A (zh) * | 2017-12-29 | 2018-06-29 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及电子设备 |
CN109559117A (zh) * | 2018-11-14 | 2019-04-02 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
CN110519297A (zh) * | 2019-09-17 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种基于区块链私钥的数据处理方法以及设备 |
CN111756545A (zh) * | 2020-05-29 | 2020-10-09 | 中山大学深圳研究院 | 一种基于区块链数字签名技术的合同认证方法 |
-
2021
- 2021-03-17 CN CN202110286313.8A patent/CN113034140B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038638A (zh) * | 2017-02-24 | 2017-08-11 | 杭州象链网络技术有限公司 | 一种基于联盟链的股权登记交易系统构建方法 |
CN107342858A (zh) * | 2017-07-05 | 2017-11-10 | 武汉凤链科技有限公司 | 一种基于可信环境的智能合约保护方法和系统 |
CN108235772A (zh) * | 2017-12-29 | 2018-06-29 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及电子设备 |
CN109559117A (zh) * | 2018-11-14 | 2019-04-02 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
CN110519297A (zh) * | 2019-09-17 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种基于区块链私钥的数据处理方法以及设备 |
CN111756545A (zh) * | 2020-05-29 | 2020-10-09 | 中山大学深圳研究院 | 一种基于区块链数字签名技术的合同认证方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115051799A (zh) * | 2022-06-13 | 2022-09-13 | 北京天华星航科技有限公司 | 一种基于区块链的数字信息处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113034140B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858262B (zh) | 基于区块链系统的流程审批方法、装置、系统及存储介质 | |
CN109067528B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN109728906B (zh) | 基于非对称密钥池的抗量子计算非对称加密方法和系统 | |
CN109981255B (zh) | 密钥池的更新方法和系统 | |
US11831753B2 (en) | Secure distributed key management system | |
CN111245597A (zh) | 密钥管理方法、系统及设备 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CA3178180A1 (en) | Constructing a distributed ledger transaction on a cold hardware wallet | |
CN112766962A (zh) | 证书的接收、发送方法及交易系统、存储介质、电子装置 | |
CN109660534B (zh) | 基于多商户的安全认证方法、装置、电子设备及存储介质 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN113726733B (zh) | 一种基于可信执行环境的加密智能合约隐私保护方法 | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
CN110401531B (zh) | 一种基于sm9算法的协同签名和解密系统 | |
CN117155549A (zh) | 密钥分发方法、装置、计算机设备和存储介质 | |
CN110519222B (zh) | 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统 | |
CN110176989B (zh) | 基于非对称密钥池的量子通信服务站身份认证方法和系统 | |
CN113365264B (zh) | 一种区块链无线网络数据传输方法、装置及系统 | |
CN111901335B (zh) | 基于中台的区块链数据传输管理方法及系统 | |
CN116455572B (zh) | 数据加密方法、装置及设备 | |
CN113034140B (zh) | 实现智能合约加密的方法、系统、设备及存储介质 | |
CN112187767A (zh) | 基于区块链的多方合同共识系统、方法及介质 | |
CN112491933A (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: 40049338 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |