Nothing Special   »   [go: up one dir, main page]

CN110796448A - 基于区块链的智能合约验证方法、参与节点及介质 - Google Patents

基于区块链的智能合约验证方法、参与节点及介质 Download PDF

Info

Publication number
CN110796448A
CN110796448A CN201911010114.3A CN201911010114A CN110796448A CN 110796448 A CN110796448 A CN 110796448A CN 201911010114 A CN201911010114 A CN 201911010114A CN 110796448 A CN110796448 A CN 110796448A
Authority
CN
China
Prior art keywords
participating node
contract
block chain
encrypted data
key
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
CN201911010114.3A
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.)
Iallchain Co Ltd
Original Assignee
Iallchain 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 Iallchain Co Ltd filed Critical Iallchain Co Ltd
Priority to CN201911010114.3A priority Critical patent/CN110796448A/zh
Publication of CN110796448A publication Critical patent/CN110796448A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种基于区块链的智能合约验证方法、参与节点及介质,该方法包括:第一参与节点通过接收第二参与节点广播的合约内容,并对合约内容中采用同态加密算法加密后的数据进行解密,并基于预先得到的待验证合约对解密得到的关键数据以及合约的其他内容进行验证,若验证通过,则对合约内容进行签名,并将签名后的合约广播到区块链中,以使区块链中的其他节点对该合约进行监督。由于本发明实施例中采用了同态加密公钥对合约中的关键数据进行了加密,只有拥有相应同态解密私钥的节点才能解密,因此保证了合约中关键数据的保密性。

Description

基于区块链的智能合约验证方法、参与节点及介质
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种基于区块链的智能合约验证方法、参与节点及介质。
背景技术
智能合约是区块链技术的重要组成部分,目前智能合约的验证和执行都依赖区块链中其他方节点的监督和自动执行,但是对于合约方来说,智能合约中的一些敏感信息又是不希望第三方知道的,这样就形成了一个矛盾,因此如何解决这个矛盾是当前急需解决的问题。
发明内容
本发明实施例提供一种基于区块链的智能合约验证方法、参与节点及介质,用以实现对智能合约的验证的同时,提高智能合约内容的保密性。
本发明实施例第一方面提供一种基于区块链的智能合约验证方法,该方法包括:
第一参与节点接收第二参与节点广播的第一签名消息,所述第一签名消息中包括所述智能合约的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据通过采用所述第一参与节点的同态加密公钥对所述合约内容中的关键数据进行同态加密得到;
所述第一参与节点基于自身的同态解密私钥对所述第一加密数据进行解密,并基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证;
若验证通过,所述第一参与节点采用自身的私钥对所述第一签名消息进行签名处理,并将签名得到的第二签名消息广播到所述区块链中,以使所述区块链中的其他节点基于所述第二签名消息对所述智能合约进行监督。
可选的,所述第一参与节点接收第二参与节点广播的第一签名消息之前,所述方法还包括:
所述第一参与节点将自身的同态加密公钥通过区块链广播的方式发送给所述第二参与节点,以及
接收所述第二参与节点通过区块链广播的方式发送的所述第二参与节点的同态加密公钥。
可选的,所述第一签名消息中还包括第二加密数据,所述第二加密数据通过采用所述第二参与节点的同态加密公钥对所述关键数据进行同态加密得到。
可选的,所述基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证之后,所述方法还包括:
采用所述第二参与节点的同态加密公钥,对从所述第一加密数据中解密得到的关键数据进行同态加密,并将加密得到的第三加密数据与所述第二加密数据进行比较,并在所述第三加密数据与所述第二加密数据一致,且解密得到的所述关键数据以及所述智能合约的其他内容与所述待验证合约中的相应内容一致时,判断验证通过。
可选的,所述第一参与节点接收第二参与节点广播的第一签名消息之前,所述方法还包括:
所述第一参与节点接收所述第二参与节点通过区块链链下的方式发送的第三签名消息,所述第三签名消息为采用所述第二参与节点的私钥对所述待验证合约进行签名得到的;
所述第一参与节点对所述待验证合约的条款进行验证,若验证通过,则采用自身的私钥对所述第三签名消息进行签名,并将签名得到的第四签名消息广播到所述区块链中,以使所述第二参与节点在接收到所述第四签名消息后,在所述区块链中广播所述第一签名消息。
本发明实施例第二方面提供一种参与节点,所述参与节点与第二参与节点为智能合约的签署双方,所述参与节点包括:处理器和存储器,所述存储器中存储有指令,当所述处理器执行所述指令时执行如下操作:
接收第二参与节点广播的第一签名消息,所述第一签名消息中包括所述智能合约的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据通过采用所述参与节点的同态加密公钥对所述合约内容中的关键数据进行同态加密得到;
基于所述参与节点的同态解密私钥对所述第一加密数据进行解密,并基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证;
若验证通过,采用所述参与节点的私钥对所述第一签名消息进行签名处理,并将签名得到的第二签名消息广播到所述区块链中,以使所述区块链中的其他节点基于所述第二签名消息对所述智能合约进行监督。
可选的,所述处理器在接收第二参与节点广播的第一签名消息之前,还用于:
将所述参与节点的同态加密公钥通过区块链广播的方式发送给所述第二参与节点,以及
接收所述第二参与节点通过区块链广播的方式发送的所述第二参与节点的同态加密公钥。
可选的,所述第一签名消息中还包括第二加密数据,所述第二加密数据通过采用所述第二参与节点的同态加密公钥对所述关键数据进行同态加密得到。
可选的,所述处理器还用于:
采用所述第二参与节点的同态加密公钥,对从所述第一加密数据中解密得到的关键数据进行同态加密,并将加密得到的第三加密数据与所述第二加密数据进行比较,并在所述第三加密数据与所述第二加密数据一致,且解密得到的所述关键数据以及所述智能合约的其他内容与所述待验证合约中的相应内容一致时,判断验证通过。
本发明实施例第三方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
在本发明实施例中,第一参与节点通过接收第二参与节点广播的合约内容,并对合约内容中采用同态加密算法加密后的数据进行解密,并基于预先得到的待验证合约对解密得到的关键数据以及合约的其他内容进行验证,若验证通过,则对合约内容进行签名,并将签名后的合约广播到区块链中,以使区块链中的其他节点对该合约进行监督。由于本发明实施例中采用了同态加密公钥对合约中的关键数据(比如涉及货币金额的数据等)进行了加密,只有拥有相应同态解密私钥的节点才能解密,因此,保证了合约中关键数据的保密性。同时,区块链仍旧能够根据合约中未加密的内容,以及在同态加密的关键数据的基础上实现对合约的监督和执行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用场景的示意图;
图2是本发明实施例提供的一种基于区块链的智能合约验证方法的流程图;
图3是本发明实施例提供的另一种基于区块链的智能合约验证方法的流程图;
图4是本发明实施例提供的一种参与节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。
本发明实施例提供的基于区块链的智能合约验证方法,旨在解决现有技术中存在的上述问题,该方法可以适用于图1所示的通信系统。如图1所示,该通信系统包括:参与节点11、参与节点12和监督节点13、监督节点14,其中,参与节点11、参与节点12、监督节点13、监督节点14属于同一区块链网络,参与节点11、参与节点12具体可以是终端设备、服务器等设备,参与节点11和参与节点12可以是智能合约的签署方,监督节点13、监督节点14具体可以是具有合约监督权限的认证设备。监督节点13、监督节点14在区块链网络中对参与节点11、参与节点12签署的合约进行监督和执行。另外,此处只是示意性说明,并不限定该区块链网络的结构和该区块链网络中的节点个数。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2是本发明实施例提供的一种基于区块链的智能合约验证方法的流程图,该方法适用于图1所示的场景。具体的,如图2所示,该方法包括如下步骤:
步骤101、第一参与节点接收第二参与节点广播的第一签名消息,所述第一签名消息中包括所述智能合约的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据通过采用所述第一参与节点的同态加密公钥对所述合约内容中的关键数据进行同态加密得到。
在本实施例中,第一参与节点可以示例性的理解为图1场景中的参与节点11或参与节点12,当第一参与节点被具体为参与节点11时,示例的,第二参与节点可以示例性的理解为参与节点12,类似的,当第一参与节点被具体为参与节点12时,第二参与节点可示例性的理解为参与节点11。
在本实施例中,第一参与节点和第二参与节点可以理解为智能合约的签署双方。
可选的,第一参与节点和第二参与节点在商讨和签署智能合约之前,第一参与节点可以通过区块链广播的方式将自身的同态加密公钥发送给第二参与节点,第二参与节点也会将其自身的同态加密公钥通过区块链广播的方式发送给第一参与节点。
进一步的,第一参与节点、第二参与节点在区块链中广播自身的同态加密公钥之后,第一参与节点和第二参与节点可以在区块链链下协商智能合约的内容,其中合约内容中涉及的诸如交易金额、违约赔付金额等涉及货币金额的内容可被示例性的理解为合约的关键数据。该智能合约可以由合约双方的任意一方起草,本实施例中假设智能合约由第二参与节点起草,第二参与节点起草得到待验证合约后,采用自身的私钥对待验证合约进行签名,并将签名后得到的第三签名消息通过区块链链下的方式发送给第一参与节点,第一参与节点接收到第三签名消息后,基于第二参与节点的公钥对第三签名消息进行验证,并在验证通过后,对待验证合约中的条款进行验证,若验证无误,第一参与节点采用自身的私钥对第三签名消息进行签名,并将包括第一参与节点签名和第二参与节点签名的第四签名消息广播到区块链中,以使第二参与节点在接收到第四签名数据后,采用第一参与节点的同态加密公钥对智能合约中的关键数据进行同态加密,并采用第二参与节点自身的私钥,对关键数据被加密过的智能合约进行签名,并将签名得到第一签名消息发送给第一参与节点。若第一参与节点对合约条款有异议,则将修改后的合约发送给第二参与节点,直到双方对合约都没有异议为止。
步骤102、所述第一参与节点基于自身的同态解密私钥对所述第一加密数据进行解密,并基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证。
第一参与节点在接收到第一签名消息后,先采用第二参与节点的公钥对第一签名消息的签名进行验证,若验证通过,则进一步的采用自身同态加密公钥对应的同态解密私钥对智能合约中的第一加密数据进行解密,得到关键数据,再基于预先得到的待验证合约对解密得到的关键数据和智能合约中其他未加密的内容进行验证。
举例来说,假设第一加密数据为ENCb(Info),其中Info表示关键数据,则第一参与节点在验证第一签名消息的签名无误后,使用自身的同态解密私钥对第一加密数据进行解密得到Info,再将Info以及智能合约中的其他内容与待验证合约中的相应内容进行比对,确定是否一致,若全部一致,则判断验证通过,否则验证不通过。
步骤103、若验证通过,所述第一参与节点采用自身的私钥对所述第一签名消息进行签名处理,并将签名得到的第二签名消息广播到所述区块链中,以使所述区块链中的其他节点基于所述第二签名消息对所述智能合约进行监督。
在本实施例中,第二签名消息广播到区块链后,在满足智能合约的执行条件后,区块链自动执行合约。如果涉及到关键数据(比如,第一参与节点与第二参与节点间的Token交易)的计算,则,需要使用同态模式下的验证,比如,由于第一参与节点违约,关键数据描述的是违约情况下,第一参与节点需要转移给第二参与节点的Token数,那么区块链直接将区块链中记录的第一参与节点的Token数的同态加密数据减去合约中记录的该情况下需转移的Token数的同态加密数据,并将区块链中记录的第二参与节点的Token数的同态加密数据加上合约中记录的该情况下需转移的Token数的同态加密数据。这样区块链不但实现了智能合约的监督和执行,还保证了智能合约中关键数据的保密性。
在本实施例中,第一参与节点通过接收第二参与节点广播的合约内容,并对合约内容中采用同态加密算法加密后的数据进行解密,并基于预先得到的待验证合约对解密得到的关键数据以及合约的其他内容进行验证,若验证通过,则对合约内容进行签名,并将签名后的合约广播到区块链中,以使区块链中的其他节点对该合约进行监督。由于本实施例中采用了同态加密公钥对合约中的关键数据(比如涉及货币金额的数据等)进行了加密,只有拥有相应同态解密私钥的节点才能解密,因此,保证了合约中关键数据的保密性。同时,区块链仍旧能够根据合约中未加密的内容,以及在同态加密的关键数据的基础上实现对合约的监督和执行。
图3是本发明实施例提供的另一种基于区块链的智能合约验证方法的流程图,该方法在图2实施例的基础上包括如下步骤:
步骤201、第一参与节点接收第二参与节点广播的第一签名消息,所述第一签名消息中包括所述智能合约的合约内容,所述合约内容中包括第一加密数据和第二加密数据,所述第一加密数据通过采用所述第一参与节点的同态加密公钥对所述合约内容中的关键数据进行同态加密得到,所述第二加密数据通过采用所述第二参与节点的同态加密公钥对所述关键数据进行同态加密得到。
举例来说,假设合约内容中的关键数据为Info,采用第一参与节点的同态加密公钥对Info进行加密得到第一加密数据为ENCb(Info),采用第二参与节点的同态加密公钥对Info进行加密得到第二加密数据为ENCa(Info),SIGa为第二参与节点的私钥签名,则第一签名消息M为M=(未加密内容,ENCa(Info),ENCb(Info))SIGa。当然这里仅为示例说明而不是唯一限定。
步骤202、所述第一参与节点基于自身的同态解密私钥对所述第一加密数据进行解密,并基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证。
承接上例,第一参与节点在接收到第一签名消息后,基于自身的同态解密私钥对ENCb(Info)进行解密得到Info,并基于预先得到的待验证合同对Info和第一签名消息中未加密的内容进行验证。
步骤203、采用所述第二参与节点的同态加密公钥,对从所述第一加密数据中解密得到的关键数据进行同态加密,并将加密得到的第三加密数据与所述第二加密数据进行比较,并在所述第三加密数据与所述第二加密数据一致,且解密得到的所述关键数据以及所述智能合约的其他内容与所述待验证合约中的相应内容一致时,判断验证通过。
承接上例,第一参与节点采用预先得到的第二参与节点的同态加密公钥对Info进行同态加密,并将加密得到的第三加密数据与ENCa(Info)进行对比,若第三加密数据与ENCa(Info)一致,且Info以及第一签名消息中未加密的部分与待验证合约中的相应部分一致,则确认验证通过。
当然这里仅为示例说明而不是对本发明的唯一限定。
步骤204、若验证通过,所述第一参与节点采用自身的私钥对所述第一签名消息进行签名处理,并将签名得到的第二签名消息广播到所述区块链中,以使所述区块链中的其他节点基于所述第二签名消息对所述智能合约进行监督。
本实施例分别采用第一参与节点和第二参与节点的同态加密公钥对关键数据进行同态加密,并同时在第一参与节点侧对这两部分加密数据验证,能够保证合约数据的可靠性。
图4是本发明实施例提供的一种参与节点的结构示意图,所述参与节点与第二参与节点为智能合约的签署双方,如图4所示,参与节点40包括:
处理器41和存储器42,所述存储器42中存储有指令,当所述处理器41执行所述指令时执行如下操作:
接收第二参与节点广播的第一签名消息,所述第一签名消息中包括所述智能合约的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据通过采用所述参与节点的同态加密公钥对所述合约内容中的关键数据进行同态加密得到;
基于所述参与节点的同态解密私钥对所述第一加密数据进行解密,并基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证;
若验证通过,采用所述参与节点的私钥对所述第一签名消息进行签名处理,并将签名得到的第二签名消息广播到所述区块链中,以使所述区块链中的其他节点基于所述第二签名消息对所述智能合约进行监督。
可选的,所述处理器在接收第二参与节点广播的第一签名消息之前,还用于:
将所述参与节点的同态加密公钥通过区块链广播的方式发送给所述第二参与节点,以及
接收所述第二参与节点通过区块链广播的方式发送的所述第二参与节点的同态加密公钥。
可选的,所述第一签名消息中还包括第二加密数据,所述第二加密数据通过采用所述第二参与节点的同态加密公钥对所述关键数据进行同态加密得到。
可选的,所述处理器还用于:
采用所述第二参与节点的同态加密公钥,对从所述第一加密数据中解密得到的关键数据进行同态加密,并将加密得到的第三加密数据与所述第二加密数据进行比较,并在所述第三加密数据与所述第二加密数据一致,且解密得到的所述关键数据以及所述智能合约的其他内容与所述待验证合约中的相应内容一致时,判断验证通过。
本实施例提供的参与节点能够执行图2或图3实施例的方法,其执行方和有益效果类似,在这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述图2或图3提供的方法。
最后需要说明的是,本领域普通技术人员可以理解上述实施例方法中的全部或者部分流程,是可以通过计算机程序来指令相关的硬件完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可以为磁盘、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
本发明实施例中的各个功能单元可以集成在一个处理模块中,也可以是各个单元单独的物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现,并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。上述提到的存储介质可以是只读存储器、磁盘或光盘等。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种基于区块链的智能合约验证方法,其特征在于,包括:
第一参与节点接收第二参与节点广播的第一签名消息,所述第一签名消息中包括所述智能合约的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据通过采用所述第一参与节点的同态加密公钥对所述合约内容中的关键数据进行同态加密得到;
所述第一参与节点基于自身的同态解密私钥对所述第一加密数据进行解密,并基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证;
若验证通过,所述第一参与节点采用自身的私钥对所述第一签名消息进行签名处理,并将签名得到的第二签名消息广播到所述区块链中,以使所述区块链中的其他节点基于所述第二签名消息对所述智能合约进行监督。
2.根据权利要求1所述的方法,其特征在于,所述第一参与节点接收第二参与节点广播的第一签名消息之前,所述方法还包括:
所述第一参与节点将自身的同态加密公钥通过区块链广播的方式发送给所述第二参与节点,以及
接收所述第二参与节点通过区块链广播的方式发送的所述第二参与节点的同态加密公钥。
3.根据权利要求1所述的方法,其特征在于,所述第一签名消息中还包括第二加密数据,所述第二加密数据通过采用所述第二参与节点的同态加密公钥对所述关键数据进行同态加密得到。
4.根据权利要求3所述的方法,其特征在于,所述基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证之后,所述方法还包括:
采用所述第二参与节点的同态加密公钥,对从所述第一加密数据中解密得到的关键数据进行同态加密,并将加密得到的第三加密数据与所述第二加密数据进行比较,并在所述第三加密数据与所述第二加密数据一致,且解密得到的所述关键数据以及所述智能合约的其他内容与所述待验证合约中的相应内容一致时,判断验证通过。
5.根据权利要求1所述的方法,其特征在于,所述第一参与节点接收第二参与节点广播的第一签名消息之前,所述方法还包括:
所述第一参与节点接收所述第二参与节点通过区块链链下的方式发送的第三签名消息,所述第三签名消息为采用所述第二参与节点的私钥对所述待验证合约进行签名得到的;
所述第一参与节点对所述待验证合约的条款进行验证,若验证通过,则采用自身的私钥对所述第三签名消息进行签名,并将签名得到的第四签名消息广播到所述区块链中,以使所述第二参与节点在接收到所述第四签名消息后,在所述区块链中广播所述第一签名消息。
6.一种参与节点,所述参与节点与第二参与节点为智能合约的签署双方,其特征在于,所述参与节点包括:处理器和存储器,所述存储器中存储有指令,当所述处理器执行所述指令时执行如下操作:
接收第二参与节点广播的第一签名消息,所述第一签名消息中包括所述智能合约的合约内容,所述合约内容中包括第一加密数据,所述第一加密数据通过采用所述参与节点的同态加密公钥对所述合约内容中的关键数据进行同态加密得到;
基于所述参与节点的同态解密私钥对所述第一加密数据进行解密,并基于预先在区块链链下得到的待验证合约对解密得到的关键数据以及所述智能合约的其他内容进行验证;
若验证通过,采用所述参与节点的私钥对所述第一签名消息进行签名处理,并将签名得到的第二签名消息广播到所述区块链中,以使所述区块链中的其他节点基于所述第二签名消息对所述智能合约进行监督。
7.根据权利要求6所述的参与节点,其特征在于,所述处理器在接收第二参与节点广播的第一签名消息之前,还用于:
将所述参与节点的同态加密公钥通过区块链广播的方式发送给所述第二参与节点,以及
接收所述第二参与节点通过区块链广播的方式发送的所述第二参与节点的同态加密公钥。
8.根据权利要求6所述的参与节点,其特征在于,所述第一签名消息中还包括第二加密数据,所述第二加密数据通过采用所述第二参与节点的同态加密公钥对所述关键数据进行同态加密得到。
9.根据权利要求8所述的参与节点,其特征在于,所述处理器还用于:
采用所述第二参与节点的同态加密公钥,对从所述第一加密数据中解密得到的关键数据进行同态加密,并将加密得到的第三加密数据与所述第二加密数据进行比较,并在所述第三加密数据与所述第二加密数据一致,且解密得到的所述关键数据以及所述智能合约的其他内容与所述待验证合约中的相应内容一致时,判断验证通过。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的方法。
CN201911010114.3A 2019-10-22 2019-10-22 基于区块链的智能合约验证方法、参与节点及介质 Pending CN110796448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911010114.3A CN110796448A (zh) 2019-10-22 2019-10-22 基于区块链的智能合约验证方法、参与节点及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911010114.3A CN110796448A (zh) 2019-10-22 2019-10-22 基于区块链的智能合约验证方法、参与节点及介质

Publications (1)

Publication Number Publication Date
CN110796448A true CN110796448A (zh) 2020-02-14

Family

ID=69440959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911010114.3A Pending CN110796448A (zh) 2019-10-22 2019-10-22 基于区块链的智能合约验证方法、参与节点及介质

Country Status (1)

Country Link
CN (1) CN110796448A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629000A (zh) * 2020-05-27 2020-09-04 北京东方通科技股份有限公司 基于区块链的数据安全传输方法
CN111858754A (zh) * 2020-06-30 2020-10-30 全链通有限公司 基于区块链的人工智能训练方法、区块链节点及介质
CN112989390A (zh) * 2021-04-15 2021-06-18 深圳前海移联科技有限公司 一种基于可插拔同态加密的区块链同质数据共享方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
CN106845960A (zh) * 2017-01-24 2017-06-13 上海亿账通区块链科技有限公司 基于区块链的安全交易方法及系统
CN107623572A (zh) * 2017-09-27 2018-01-23 济南浪潮高新科技投资发展有限公司 一种区块链上数字证书发放的方法
CN107862215A (zh) * 2017-09-29 2018-03-30 阿里巴巴集团控股有限公司 一种数据存储方法、数据查询方法及装置
CN108711105A (zh) * 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN109635572A (zh) * 2018-11-05 2019-04-16 深圳变设龙信息科技有限公司 一种基于区块链的合约签订方法、装置及终端设备
CN109754267A (zh) * 2018-12-29 2019-05-14 百度在线网络技术(北京)有限公司 基于区块链的品牌授权方法、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
CN106845960A (zh) * 2017-01-24 2017-06-13 上海亿账通区块链科技有限公司 基于区块链的安全交易方法及系统
CN107623572A (zh) * 2017-09-27 2018-01-23 济南浪潮高新科技投资发展有限公司 一种区块链上数字证书发放的方法
CN107862215A (zh) * 2017-09-29 2018-03-30 阿里巴巴集团控股有限公司 一种数据存储方法、数据查询方法及装置
CN108711105A (zh) * 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN109635572A (zh) * 2018-11-05 2019-04-16 深圳变设龙信息科技有限公司 一种基于区块链的合约签订方法、装置及终端设备
CN109754267A (zh) * 2018-12-29 2019-05-14 百度在线网络技术(北京)有限公司 基于区块链的品牌授权方法、装置、设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629000A (zh) * 2020-05-27 2020-09-04 北京东方通科技股份有限公司 基于区块链的数据安全传输方法
CN111858754A (zh) * 2020-06-30 2020-10-30 全链通有限公司 基于区块链的人工智能训练方法、区块链节点及介质
CN112989390A (zh) * 2021-04-15 2021-06-18 深圳前海移联科技有限公司 一种基于可插拔同态加密的区块链同质数据共享方法

Similar Documents

Publication Publication Date Title
CN109309565B (zh) 一种安全认证的方法及装置
CN106548330B (zh) 基于区块链的交易验证方法及系统
CN113128999B (zh) 一种区块链隐私保护方法及装置
CN106941404B (zh) 密钥保护方法及装置
CN111914293A (zh) 一种数据访问权限验证方法、装置、计算机设备及存储介质
CN115242553B (zh) 一种支持安全多方计算的数据交换方法及系统
CN114697040B (zh) 一种基于对称密钥的电子签章方法和系统
CN110796448A (zh) 基于区块链的智能合约验证方法、参与节点及介质
CN113726733B (zh) 一种基于可信执行环境的加密智能合约隐私保护方法
CN113438205B (zh) 区块链数据访问控制方法、节点以及系统
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
CN113868713B (zh) 一种数据验证方法、装置、电子设备及存储介质
CN111080300A (zh) 基于区块链的资产转移方法、装置及硬件设备
CN110782347B (zh) 基于区块链的智能合约签署方法、装置及介质
CN112910641B (zh) 用于跨链交易监管的验证方法、装置、中继链节点及介质
CN106453430A (zh) 验证加密数据传输路径的方法及装置
CN110766400B (zh) 基于区块链的交易记录处理方法、记账节点及介质
CN113886781B (zh) 基于区块链的多重认证加密方法、系统、电子设备及介质
CN116881936A (zh) 可信计算方法及相关设备
Sarker et al. Voting credential management system for electronic voting privacy
Tan et al. A secure cloud-assisted certificateless group authentication scheme for VANETs in big data environment
CN115935379A (zh) 业务处理方法、装置、设备及计算机可读存储介质
CN114584347A (zh) 验证短信收发方法、服务器、终端及存储介质
CN114374548A (zh) 区块链系统及其通信方法、存储介质、程序产品
CN114331648A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200214