CN110782347A - 基于区块链的智能合约签署方法、发起节点及介质 - Google Patents
基于区块链的智能合约签署方法、发起节点及介质 Download PDFInfo
- Publication number
- CN110782347A CN110782347A CN201910998943.0A CN201910998943A CN110782347A CN 110782347 A CN110782347 A CN 110782347A CN 201910998943 A CN201910998943 A CN 201910998943A CN 110782347 A CN110782347 A CN 110782347A
- Authority
- CN
- China
- Prior art keywords
- node
- contract
- participating
- encrypted data
- block chain
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种基于区块链的智能合约签署方法、发起节点及介质,该方法包括:智能合约的发起节点通过在区块链中发布智能合约框架和自身的同态加密公钥,并在接收至少一个参与节点基于该智能合约框架生成的合约内容之后,采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在智能合约框架中补充的关键数据,从而根据各参与节点补充的关键数据确定目标合约内容,并将目标合约内容发布到区块链中,以使区块链对目标合约内容进行监督。本发明实施例能够提高合约中关键数据的保密性。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种基于区块链的智能合约签署方法、发起节点及介质。
背景技术
智能合约是区块链技术的重要组成部分,目前智能合约的验证和执行都依赖区块链中其他方节点的监督和自动执行,但是对于合约方来说,智能合约中的一些敏感信息又是不希望第三方知道的,这样就形成了一个矛盾,因此如何解决这个矛盾是当前急需解决的问题。
发明内容
本发明实施例提供一种基于区块链的智能合约签署方法、发起节点及介质,用以实现基于区块链的智能合约签署,提高智能合约内容的保密性。
本发明实施例第一方面提供一种基于区块链的智能合约签署方法,该方法包括:
智能合约的发起节点在区块链中发布第一签名消息,所述第一签名消息中包括智能合约框架和所述发起节点的同态加密公钥,其中所述智能合约框架中不包括所述智能合约的关键数据;
所述发起节点接收至少一个参与节点基于所述智能合约框架生成的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据是所述参与节点采用所述发起节点的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的;
所述发起节点采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在所述智能合约框架中补充的关键数据;
所述发起节点根据各参与节点补充的关键数据确定目标合约内容,以及采用自身的私钥对所述目标合约内容进行签名,并将签名得到的第二签名消息发布到所述区块链中,以使所述区块链对所述目标合约内容进行监督。
可选的,所述智能合约的发起节点在区块链中发布第一签名消息之前,所述方法还包括:
所述发起节点在所述区块链中广播自身的同态公钥;以及
接收所述区块链中的参与节点在所述区块链中广播的同态公钥。
可选的,所述参与节点生成的合约内容中还包括第二加密数据,所述第二加密数据是所述参与节点采用自身的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的。
可选的,所述发起节点根据各参与节点补充的关键数据确定目标合约内容之前,所述方法还包括:
所述发起节点分别采用各参与节点的同态公钥对各参与节点自身补充的关键数据进行同态加密,并将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对,其中,若一致,则执行确定目标合约内容的步骤。
可选的,所述将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对之后,所述方法还包括:
若存在参与节点,其对应的第二加密数据和第三加密数据不一致,则删除所述参与节点的合约内容。
本发明实施例第二方面提供一种发起节点,包括:处理器和存储器,所述存储器中存储有指令,当所述处理器执行所述指令时执行如下操作:
在区块链中发布第一签名消息,所述第一签名消息中包括智能合约框架和所述发起节点的同态加密公钥,其中所述智能合约框架中不包括所述智能合约的关键数据;
接收至少一个参与节点基于所述智能合约框架生成的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据是所述参与节点采用所述发起节点的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的;
采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在所述智能合约框架中补充的关键数据;
根据各参与节点补充的关键数据确定目标合约内容,以及采用所述发起节点的私钥对所述目标合约内容进行签名,并将签名得到的第二签名消息发布到所述区块链中,以使所述区块链对所述目标合约内容进行监督。
可选的,所述处理器在区块链中发布第一签名消息之前,还用于:
在所述区块链中广播所述发起节点的同态公钥;以及
接收所述区块链中的参与节点在所述区块链中广播的同态公钥。
可选的,所述参与节点生成的合约内容中还包括第二加密数据,所述第二加密数据是所述参与节点采用自身的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的。
可选的,所述处理器根据各参与节点补充的关键数据确定目标合约内容之前,还用于:
分别采用各参与节点的同态公钥对各参与节点自身补充的关键数据进行同态加密,并将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对,其中,若一致,则执行确定目标合约内容的步骤。
本发明实施例第三方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
在本发明实施例中,智能合约的发起节点通过在区块链中发布智能合约框架和自身的同态加密公钥,并在接收至少一个参与节点基于该智能合约框架生成的合约内容之后,采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在智能合约框架中补充的关键数据,从而根据各参与节点补充的关键数据确定目标合约内容,并将目标合约内容发布到区块链中,以使区块链对目标合约内容进行监督。由于在本发明实施例中,合约中的关键数据是被同态加密过的,因此除了合约签署方之外,区块链中的其他节点无法获知合约中的关键数据信息,提高了合约中关键数据的保密性,同时区块链又可以基于合约的执行条件,在密文条件下执行合约内容,兼顾了合约的保密性和执行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用场景的示意图;
图2是本发明实施例提供的一种基于区块链的智能合约签署方法的流程图;
图3是本发明实施例提供的另一种基于区块链的智能合约签署方法的流程图;
图4是本发明实施例提供的一种发起节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。
本发明实施例提供的基于区块链的智能合约签署方法,旨在解决现有技术中存在的上述问题,该方法可以适用于图1所示的通信系统。如图1所示,该通信系统包括:发起节点10、参与节点11、参与节点12和监督节点13、监督节点14,其中,发起节点10、参与节点11、参与节点12、监督节点13、监督节点14属于同一区块链网络,发起节点10、参与节点11、参与节点12具体可以是终端设备、服务器等设备,发起节点10为合约的发起方,参与节点11和参与节点12可以是智能合约的竞标方,监督节点13、监督节点14具体可以是具有合约监督权限的认证设备。监督节点13、监督节点14对区块链中的合约进行监督和执行。另外,此处只是示意性说明,并不限定该区块链网络的结构和该区块链网络中的节点个数。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2是本发明实施例提供的一种基于区块链的智能合约签署方法的流程图,该方法适用于图1所示的场景。具体的,如图2所示,该方法包括如下步骤:
步骤101、智能合约的发起节点在区块链中发布第一签名消息,所述第一签名消息中包括智能合约框架和所述发起节点的同态加密公钥,其中所述智能合约框架中不包括所述智能合约的关键数据。
在本实施例中,发起节点可以示例性的理解为图1场景中的发起节点10。
在本实施例中,发起节点是智能合约的发起方,发起节点将自身制定的智能合约框架和自身的同态加密公钥发布到区块链中,其中智能合约框架中包括合约的所有条款内容,但是不包括诸如交易金额、单价、违约金等涉及货币金额或其他具有保密需求的关键数据。该部分关键数据由参与竞标的参与节点补充生成。
进一步的,区块链中的参与节点在接收到第一签名消息后,若想参与竞标,则需要根据发起节点发布的智能合约框架生成合约内容中的关键数据,并采用发起节点的同态公钥对关键数据进行同态加密,并将加密得到的第一加密数据补充到合约内容中,使得合约内容中涉及关键数据的部分均为加密数据。在此之后,参与节点将合约内容采用自身的私钥签名后发送给发起节点。
步骤102、所述发起节点接收至少一个参与节点基于所述智能合约框架生成的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据是所述参与节点采用所述发起节点的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的。
在本实施例中,响应发起节点发起的第一签名信息,在区块链中广播合约内容的参与节点可示例性的理解为图1场景中的参与节点11和/或参与节点12。
可选的,在本实施例中,发起节点在发出第一签名消息后的预设时间范围内接收区块链中的参与竞标的参与节点发布的合约内容。并在接收到参与节点的合约内容后,采用参与节点的公钥对合约内容的签名进行验证,如果验证通过,则保留合约内容,否则删除合约内容。
步骤103、所述发起节点采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在所述智能合约框架中补充的关键数据。
发起节点在接收到各参与节点发布的合约内容后,从各参与节点发布的合约内容中提取第一加密数据,进一步的,再采用自身的同态私钥对第一加密数据解密,得到各参与节点在合约中补充的关键数据,比如单价、交易金额、违约赔付金额等。
步骤104、所述发起节点根据各参与节点补充的关键数据确定目标合约内容,以及采用自身的私钥对所述目标合约内容进行签名,并将签名得到的第二签名消息发布到所述区块链中,以使所述区块链对所述目标合约内容进行监督。
在本实施例中,第二签名消息广播到区块链后,在满足智能合约的执行条件后,区块链自动执行合约。如果涉及到关键数据(比如,发起节点与赢得竞标的参与节点间的Token交易)的计算,则,需要使用同态模式下的验证,比如,由于赢得竞标的参与节点违约,关键数据描述的是违约情况则下,参与节点需要转移给发起节点的Token数,那么区块链直接将区块链中记录的所述赢得竞标的参与节点的Token数的同态加密数据减去合约中记录的该情况下需转移的Token数的同态加密数据,并将区块链中记录的所述发起节点的Token数的同态加密数据加上合约中记录的该情况下需转移的Token数的同态加密数据。这样区块链不但实现了智能合约的监督和执行,还保证了智能合约中关键数据的保密性。
在本实施例中,智能合约的发起节点通过在区块链中发布智能合约框架和自身的同态加密公钥,并在接收至少一个参与节点基于该智能合约框架生成的合约内容之后,采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在智能合约框架中补充的关键数据,从而根据各参与节点补充的关键数据确定目标合约内容,并将目标合约内容发布到区块链中,以使区块链对目标合约内容进行监督。由于在本实施中,合约中的关键数据是被同态加密过的,因此除了合约签署方之外,区块链中的其他节点无法获知合约中的关键数据信息,提高了合约中关键数据的保密性,同时区块链又可以基于合约的执行条件,在密文条件下执行合约内容,兼顾了合约的保密性和执行。
图3是本发明实施例提供的另一种基于区块链的智能合约签署方法的流程图,该方法在图2实施例的基础上包括如下步骤:
步骤200、智能合约的发起节点在所述区块链中广播自身的同态公钥;以及接收所述区块链中的参与节点在所述区块链中广播的同态公钥。
步骤201、发起节点在区块链中发布第一签名消息,所述第一签名消息中包括智能合约框架和所述发起节点的同态加密公钥,其中所述智能合约框架中不包括所述智能合约的关键数据。
步骤202、所述发起节点接收至少一个参与节点基于所述智能合约框架生成的合约内容,所述合约内容中包括第一加密数据和第二加密数据,所述第一加密数据是所述参与节点采用所述发起节点的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的,所述第二加密数据是所述参与节点采用自身的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的。
假设参与节点A接收到发起节点广播的第一签名消息后,如果有意与发起节点签约,那么参与节点A基于智能合约框架生成合约内容的关键数据Info1并采用自己的同态公钥K-a对关键数据进行同态加密得到第二加密数据Enca(Info1),同时采用发起节点的同态公钥K-b对所述关键数据进行同态加密得到第一加密数据ENCb(Info1)。并将包含第一加密数据和第二加密数据的合约内容采用自身的私钥进行签名得到合约内容M1,M1=(未加密部分,Enca(Info1),ENCb(Info1)SIGa,SIGa为参与节点A的私钥签名。
其他参与方比如参与节点C接收到第一签名消息后,如果有意与发起节点签约,那么参与节点C基于智能合约框架生成合约内容的关键数据Info2并采用自己的同态公钥K-c对关键数据进行同态加密得到第二加密数据Encc(Info2),同时采用发起节点的同态公钥K-b对所述关键数据进行同态加密得到第一加密数据ENCb(Info2)。并将包含第一加密数据和第二加密数据的合约内容采用自身的私钥进行签名得到合约内容M2,M2=(未加密部分,Encc(Info2),ENCb(Info2)SIGc,SIGc为参与节点C的私钥签名。
步骤203、所述发起节点采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在所述智能合约框架中补充的关键数据。
承接上例,发起节点在接收到M1和M2后首先分别基于参与节点A和参与节点C的私钥对M1和M2中的私钥签名进行验证,若验证通过,则从M1中获取Enca(Info1)和ENCb(Info1),从M2中获取Encc(Info2)和ENCb(Info2),并采用自身的同态私钥分别对ENCb(Info1)和ENCb(Info2)进行解密得到Info1和Info2。
步骤204、所述发起节点分别采用各参与节点的同态公钥对各参与节点自身补充的关键数据进行同态加密,并将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对,其中,若均一致,则执行步骤205,否则执行步骤206。
承接上例,在得到Info1和Info2分别采用K-a和K-c对Info1和Info2进行加密,并将加密后的加密数据分别与Enca(Info1)和Encc(Info2)进行比对,若基于Info1和K-a得到的加密数据与Enca(Info1)相同,那么M1验证通过,若基于Info2和K-c得到的加密数据与Encc(Info2)相同,那么M2验证通过。
步骤205、所述发起节点根据各参与节点补充的关键数据确定目标合约内容,以及采用自身的私钥对所述目标合约内容进行签名,并将签名得到的第二签名消息发布到所述区块链中,以使所述区块链对所述目标合约内容进行监督。
步骤206、若存在参与节点对应的第二加密数据和第三加密数据不一致,则删除所述参与节点的合约内容,并基于剩余参与节点对应的关键数据确定目标合约内容。
在本实施例中,参与节点分别采用发起节点的同态公钥和自身的同态公钥对关键数据进行同态加密,并同时在发起节点侧对这两部分加密数据进行验证,能够保证合同数据的可靠性。
图4是本发明实施例提供的一种发起节点的结构示意图,如图4所示,发起节点40包括:
处理器41和存储器42,所述存储器42中存储有指令,当所述处理器41执行所述指令时执行如下操作:
在区块链中发布第一签名消息,所述第一签名消息中包括智能合约框架和所述发起节点的同态加密公钥,其中所述智能合约框架中不包括所述智能合约的关键数据;
接收至少一个参与节点基于所述智能合约框架生成的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据是所述参与节点采用所述发起节点的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的;
采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在所述智能合约框架中补充的关键数据;
根据各参与节点补充的关键数据确定目标合约内容,以及采用所述发起节点的私钥对所述目标合约内容进行签名,并将签名得到的第二签名消息发布到所述区块链中,以使所述区块链对所述目标合约内容进行监督。
可选的,所述处理器在区块链中发布第一签名消息之前,还用于:
在所述区块链中广播所述发起节点的同态公钥;以及
接收所述区块链中的参与节点在所述区块链中广播的同态公钥。
可选的,所述参与节点生成的合约内容中还包括第二加密数据,所述第二加密数据是所述参与节点采用自身的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的。
可选的,所述处理器根据各参与节点补充的关键数据确定目标合约内容之前,还用于:
分别采用各参与节点的同态公钥对各参与节点自身补充的关键数据进行同态加密,并将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对,其中,若一致,则执行确定目标合约内容的步骤。
本实施例提供的参与节点能够执行图2或图3实施例的方法,其执行方和有益效果类似,在这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述图2或图3提供的方法。
最后需要说明的是,本领域普通技术人员可以理解上述实施例方法中的全部或者部分流程,是可以通过计算机程序来指令相关的硬件完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可以为磁盘、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
本发明实施例中的各个功能单元可以集成在一个处理模块中,也可以是各个单元单独的物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现,并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。上述提到的存储介质可以是只读存储器、磁盘或光盘等。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于区块链的智能合约签署方法,其特征在于,包括:
智能合约的发起节点在区块链中发布第一签名消息,所述第一签名消息中包括智能合约框架和所述发起节点的同态加密公钥,其中所述智能合约框架中不包括所述智能合约的关键数据;
所述发起节点接收至少一个参与节点基于所述智能合约框架生成的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据是所述参与节点采用所述发起节点的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的;
所述发起节点采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在所述智能合约框架中补充的关键数据;
所述发起节点根据各参与节点补充的关键数据确定目标合约内容,以及采用自身的私钥对所述目标合约内容进行签名,并将签名得到的第二签名消息发布到所述区块链中,以使所述区块链对所述目标合约内容进行监督。
2.根据权利要求1所述的方法,其特征在于,所述智能合约的发起节点在区块链中发布第一签名消息之前,所述方法还包括:
所述发起节点在所述区块链中广播自身的同态公钥;以及
接收所述区块链中的参与节点在所述区块链中广播的同态公钥。
3.根据权利要求2所述的方法,其特征在于,所述参与节点生成的合约内容中还包括第二加密数据,所述第二加密数据是所述参与节点采用自身的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的。
4.根据权利要求3所述的方法,其特征在于,所述发起节点根据各参与节点补充的关键数据确定目标合约内容之前,所述方法还包括:
所述发起节点分别采用各参与节点的同态公钥对各参与节点自身补充的关键数据进行同态加密,并将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对,其中,若一致,则执行确定目标合约内容的步骤。
5.根据权利要求4所述的方法,其特征在于,所述将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对之后,所述方法还包括:
若存在参与节点,其对应的第二加密数据和第三加密数据不一致,则删除所述参与节点的合约内容。
6.一种发起节点,其特征在于,包括:处理器和存储器,所述存储器中存储有指令,当所述处理器执行所述指令时执行如下操作:
在区块链中发布第一签名消息,所述第一签名消息中包括智能合约框架和所述发起节点的同态加密公钥,其中所述智能合约框架中不包括所述智能合约的关键数据;
接收至少一个参与节点基于所述智能合约框架生成的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据是所述参与节点采用所述发起节点的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的;
采用自身的同态私钥对接收到的各合约内容中的第一加密数据进行解密,得到各参与节点在所述智能合约框架中补充的关键数据;
根据各参与节点补充的关键数据确定目标合约内容,以及采用所述发起节点的私钥对所述目标合约内容进行签名,并将签名得到的第二签名消息发布到所述区块链中,以使所述区块链对所述目标合约内容进行监督。
7.根据权利要求6所述的发起节点,其特征在于,所述处理器在区块链中发布第一签名消息之前,还用于:
在所述区块链中广播所述发起节点的同态公钥;以及
接收所述区块链中的参与节点在所述区块链中广播的同态公钥。
8.根据权利要求7所述的发起节点,其特征在于,所述参与节点生成的合约内容中还包括第二加密数据,所述第二加密数据是所述参与节点采用自身的同态公钥对所述参与节点自身补充的关键数据进行同态加密得到的。
9.根据权利要求8所述的发起节点,其特征在于,所述处理器根据各参与节点补充的关键数据确定目标合约内容之前,还用于:
分别采用各参与节点的同态公钥对各参与节点自身补充的关键数据进行同态加密,并将加密得到的各参与节点的第三加密数据与各参与节点生成的合约内容中的第二加密数据进行比对,其中,若一致,则执行确定目标合约内容的步骤。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998943.0A CN110782347B (zh) | 2019-10-22 | 2019-10-22 | 基于区块链的智能合约签署方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998943.0A CN110782347B (zh) | 2019-10-22 | 2019-10-22 | 基于区块链的智能合约签署方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110782347A true CN110782347A (zh) | 2020-02-11 |
CN110782347B CN110782347B (zh) | 2023-02-03 |
Family
ID=69386105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910998943.0A Active CN110782347B (zh) | 2019-10-22 | 2019-10-22 | 基于区块链的智能合约签署方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110782347B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765875A (zh) * | 2020-11-17 | 2021-12-07 | 北京京东乾石科技有限公司 | 一种数据验证信息的反馈方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171794A (zh) * | 2017-06-27 | 2017-09-15 | 葛峰 | 一种基于区块链和智能合约的电子文书签署方法 |
CN108197891A (zh) * | 2018-01-05 | 2018-06-22 | 法信公证云(厦门)科技有限公司 | 一种基于区块链的电子签约装置及方法 |
CN108768607A (zh) * | 2018-05-14 | 2018-11-06 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的投票方法、装置、设备及介质 |
CN109035024A (zh) * | 2018-08-15 | 2018-12-18 | 杭州链汇通区块链科技有限公司 | 电子签约的方法、系统和存储介质 |
CN109472696A (zh) * | 2018-09-29 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 资产交易方法、装置、存储介质及计算机设备 |
CN109635572A (zh) * | 2018-11-05 | 2019-04-16 | 深圳变设龙信息科技有限公司 | 一种基于区块链的合约签订方法、装置及终端设备 |
CN109660358A (zh) * | 2019-01-08 | 2019-04-19 | 余炀 | 一种基于区块链及安全执行环境的数据流通方法 |
CN110036613A (zh) * | 2016-09-08 | 2019-07-19 | 金融与风险组织有限公司 | 提供用于去中心化应用的身份认证的系统和方法 |
-
2019
- 2019-10-22 CN CN201910998943.0A patent/CN110782347B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110036613A (zh) * | 2016-09-08 | 2019-07-19 | 金融与风险组织有限公司 | 提供用于去中心化应用的身份认证的系统和方法 |
CN107171794A (zh) * | 2017-06-27 | 2017-09-15 | 葛峰 | 一种基于区块链和智能合约的电子文书签署方法 |
CN108197891A (zh) * | 2018-01-05 | 2018-06-22 | 法信公证云(厦门)科技有限公司 | 一种基于区块链的电子签约装置及方法 |
CN108768607A (zh) * | 2018-05-14 | 2018-11-06 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的投票方法、装置、设备及介质 |
CN109035024A (zh) * | 2018-08-15 | 2018-12-18 | 杭州链汇通区块链科技有限公司 | 电子签约的方法、系统和存储介质 |
CN109472696A (zh) * | 2018-09-29 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 资产交易方法、装置、存储介质及计算机设备 |
CN109635572A (zh) * | 2018-11-05 | 2019-04-16 | 深圳变设龙信息科技有限公司 | 一种基于区块链的合约签订方法、装置及终端设备 |
CN109660358A (zh) * | 2019-01-08 | 2019-04-19 | 余炀 | 一种基于区块链及安全执行环境的数据流通方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765875A (zh) * | 2020-11-17 | 2021-12-07 | 北京京东乾石科技有限公司 | 一种数据验证信息的反馈方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110782347B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737430B (zh) | 区块链节点的加密通信方法和系统 | |
US10069806B2 (en) | Secure transfer and use of secret material in a shared environment | |
CN110832519A (zh) | 提高区块链网络与外部数据源之间的通信的完整性 | |
US20220394026A1 (en) | Network identity protection method and device, and electronic equipment and storage medium | |
TW202029044A (zh) | 區塊鏈交易的產生方法和裝置 | |
US20160080157A1 (en) | Network authentication method for secure electronic transactions | |
CN111538784B (zh) | 一种基于区块链的数字资产交易方法、装置及存储介质 | |
CN111066286A (zh) | 使用高可用性的可信执行环境检索区块链网络的公共数据 | |
WO2022199290A1 (zh) | 多方安全计算 | |
CN111727611A (zh) | 位置特定的用户信息提供 | |
US20100228982A1 (en) | Fast-reconnection of negotiable authentication network clients | |
CN112651037B (zh) | 区块链系统的链外数据访问方法和系统 | |
CN112507363A (zh) | 基于区块链的数据监管方法、装置、设备及存储介质 | |
CN111369236B (zh) | 一种应用于区块链的数据管理方法和装置 | |
CN110611657A (zh) | 一种基于区块链的文件流处理的方法、装置及系统 | |
CN110011950B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN111683090A (zh) | 一种基于分布式存储的区块链数字签名方法及装置 | |
CN110830452A (zh) | 基于区块链的电子投标方法、设备及存储介质 | |
CN110827121A (zh) | 基于区块链的电子投标方法、设备及存储介质 | |
CN108259183B (zh) | 一种关注方法、装置、电子设备及介质 | |
CN110796448A (zh) | 基于区块链的智能合约验证方法、参与节点及介质 | |
CN114978635A (zh) | 跨域认证方法及装置、用户注册方法及装置 | |
EP3627361B1 (en) | Media content control | |
CN110782347B (zh) | 基于区块链的智能合约签署方法、装置及介质 | |
CN112231731A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |