CN107180353B - 一种可撤销智能合约交易的实现方法及装置 - Google Patents

一种可撤销智能合约交易的实现方法及装置 Download PDF

Info

Publication number
CN107180353B
CN107180353B CN201710516410.5A CN201710516410A CN107180353B CN 107180353 B CN107180353 B CN 107180353B CN 201710516410 A CN201710516410 A CN 201710516410A CN 107180353 B CN107180353 B CN 107180353B
Authority
CN
China
Prior art keywords
transaction
module
revocable
delivery
committed
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.)
Active
Application number
CN201710516410.5A
Other languages
English (en)
Other versions
CN107180353A (zh
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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201710516410.5A priority Critical patent/CN107180353B/zh
Publication of CN107180353A publication Critical patent/CN107180353A/zh
Application granted granted Critical
Publication of CN107180353B publication Critical patent/CN107180353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Abstract

本发明公开一种可撤销智能合约交易的实现方法及装置,该方法包括:交易双方公布初始通道资金交易,如交易一方判断承诺交易被公布,则判断公布的承诺交易是否为第一承诺交易,是则执行步骤S5,否则执行步骤S2;步骤S2:交易一方判断是否到达交易另一方的可撤销出账锁定时间,是则执行步骤S4,否则交易一方执行可撤销出账,结束;步骤S4:交易一方设置可撤销出账无效,并设置违约补偿交易有效,当检测到交易另一方公布了第一承诺交易则执行步骤S5;步骤S5:交易一方执行违约补偿交易。本发明技术方案中的交易被撤销时就视为无效交易,不会被公布到区块链上,提高了交易的安全性和有效性。

Description

一种可撤销智能合约交易的实现方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种可撤销智能合约交易的实现方法及装置。
背景技术
区块链(Blockchain)是比特币的一个重要概念,其本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链在网络上是公开的,可以在每一个离线比特币钱包数据中查询。比特币钱包的功能依赖于与区块链的确认,一次有效检验称为一次确认。通常一次交易要获得多个确认才能生效。轻量级比特币钱包使用在线确认,即不会下载区块链数据存储到设备中。
在区块链上,传统的数字货币交易是不可撤销的,这将导致一些无效的交易(比如错误的交易)也被记录在了区块链上,使整个区块链的体量变得很大,不利于检索有效交易。此外,网络黑客可以利用比特币现有的交易签名算法的复杂性,从而对比特币进行交易延展性攻击。所谓交易延展性攻击,就是在比特币交易当中有限的时间内,篡改特有的比特币交易ID,即为同一个交易创建了两个独立的交易ID。当矿工在确认交易时,有可能选择确认的是虚假交易ID,而非实际处理的交易ID,从而达到攻击的目的。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种可撤销智能合约交易的实现方法及装置。
本发明提供了一种可撤销智能合约交易的实现方法,包括:
步骤B1:交易双方交换交付交易公钥;
步骤B2:交易双方创建交付交易,分别使用各自的交付交易私钥对所述交付交易进行签名,并交换交付交易签名值;
步骤B3:交易双方创建承诺交易,分别使用承诺交易私钥对所述承诺交易进行签名得到承诺交易签名值;
步骤B4:交易双方交换承诺交易公钥和承诺交易签名值;
步骤B5:交易双方分别使用接收到的交易另一方的承诺交易公钥对接收到的承诺交易签名值进行验证,如验证通过则执行步骤B6,否则结束;
步骤B6:交易双方分别使用各自的出账交易私钥对自身的初始通道资金交易进行签名得到初始通道资金交易一重签名值并进行交换;
步骤B7:交易双方分别使用接收到的出账交易公钥对接收到的初始通道资金交易一重签名值进行验证,如验证通过则执行步骤B8,否则结束;
步骤B8:交易一方使用初始通道资金交易私钥对接收到的初始通道资金交易一重签名值进行签名得到二重签名值,并公布初始通道资金交易;
当交易双方在公布初始通道资金交易之后,交易一方判断承诺交易是否被公布,是则执行步骤S1,否则结束;
步骤S1:交易一方判断公布的承诺交易是否为第一承诺交易,是则执行步骤S5,否则执行步骤S2;
步骤S2:交易一方判断是否到达交易另一方的可撤销出账锁定时间,是则执行步骤S4,否则执行步骤S3;
步骤S3:交易一方执行可撤销交易,结束;
步骤S4:交易一方设置可撤销交易无效,并设置违约补偿交易有效,当检测到交易另一方公布了第一承诺交易则执行步骤S5;
步骤S5:交易一方执行违约补偿交易。
进一步地,所述步骤B1之前还包括:交易双方创建初始通道资金交易、交换可撤销交付交易公钥,并创建可撤销交付交易,交易双方分别使用各自的可撤销交付交易私钥对所述可撤销交付交易进行签名,并将可撤销交付交易签名值进行交换;交易双方分别使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易签名值进行验证,当验证通过时执行步骤B1。
进一步地,所述交易双方创建初始通道资金交易包括:
步骤A1:交易双方交换入账识别码;
步骤A2:交易双方交换出账交易公钥;
步骤A3:交易双方创建初始通道资金交易的入账并进行交换;
步骤A4:交易双方交换锁定通道资金地址;
步骤A5:交易双方分别使用交易另一方的出账交易公钥验证与交易另一方的锁定通道资金地址对应的初始通道资金交易的入账,如验证成功则执行步骤A6,否则结束;
步骤A6:交易双方创建初始通道资金交易的出账并进行交换;
步骤A7:交易双方根据各自的初始通道资金交易的入账和出账创建初始通道资金交易。
进一步地,所述步骤A1与步骤A2之间包括:交易双方分别判断是否接收到入账识别码,是则执行步骤A2,否则结束。
进一步地,所述步骤A2与步骤A3之间包括:交易双方分别判断是否接收到出账交易公钥,是则执行步骤A3,否则结束。
进一步地,所述步骤A3与步骤A4之间包括:交易双方分别判断是否接收到创建初始通道资金交易的入账,是则执行步骤A4,否则结束。
进一步地,所述步骤A4与步骤A5之间包括:交易双方分别判断是否接收到锁定通道资金地址,是则执行步骤A5,否则结束。
进一步地,所述步骤A6与步骤A7之间包括:交易双方分别判断是否接收到初始通道资金交易的出账,是则执行步骤A6,否则结束。
进一步地,所述交换可撤销交付交易公钥与创建可撤销交付交易之间包括:交易双方判断是否接收到可撤销交付交易公钥,是则创建可撤销交付交易,否则结束。
进一步地,所述将可撤销交付交易签名值进行交换与交易双方分别使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易的签名值进行验证之间包括:交易双方判断是否接收到可撤销交付交易的签名值,是则使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易的签名值进行验证,否则结束。
进一步地,所述步骤B1与步骤B2之间包括:交易双方分别判断是否接收到交付交易公钥,是则执行步骤B2,否则结束。
进一步地,所述步骤B2与步骤B3之间包括:交易双方分别判断是否接收到交付交易签名值,是则执行步骤B3,否则结束。
进一步地,所述步骤B4与步骤B5之间包括:交易双方分别判断是否接收到承诺交易公钥和承诺交易签名值,是则执行步骤B5,否则结束。
进一步地,所述步骤B6与步骤B7之间包括:交易双方分别判断是否接收到初始通道资金交易一重签名值,是则执行步骤B7,否则结束。
进一步地,所述交易双方在公布初始通道资金交易与交易一方判断承诺交易是否被公布之间包括:
步骤C1:交易双方交换违约补偿交易公钥;
步骤C2:交易双方分别创建违约补偿交易,使用各自的违约补偿交易私钥对所述违约补偿交易进行签名得到违约补偿交易签名值并交换违约补偿交易签名值;
步骤C3:交易双方交换第二可撤销交付交易公钥;
步骤C4:交易双方分别创建第二可撤销交付交易,使用各自的第二可撤销交付交易私钥对第二可撤销交付交易进行签名得到第二可撤销交付交易签名值,并交换第二可撤销交付交易签名值;
步骤C5:交易双方分别创建第二承诺交易,并使用各自的第二承诺交易私钥对第二承诺交易进行签名得到第二承诺交易签名值;
步骤C6:交易双方交换第二承诺交易公钥和第二承诺交易签名值;
步骤C7:交易双方分别使用接收到的第二承诺交易公钥对接收到的第二承诺交易签名值进行验证,如验证成功则执行步骤C8,如验证失败则交易一方判断承诺交易是否被公布;
步骤C8:交易双方分别使用自身的第二承诺交易私钥对接收到的第二承诺交易签名值进行再次签名得到承诺交易二重签名值,然后公布第二承诺交易。
进一步地,所述步骤C1与步骤C2之间包括:交易双方分别判断是否接收到违约补偿交易公钥,是则执行步骤C2,否则结束。
进一步地,所述步骤C2与步骤C3之间包括:交易双方分别判断是否接收到违约补偿交易签名值,是则执行步骤C3,否则结束。
进一步地,所述步骤C3与步骤C4之间包括:交易双方分别判断是否接收到第二可撤销交付交易公钥,是则执行步骤C4,否则结束。
进一步地,所述步骤C4与步骤C5之间包括:交易双方分别判断是否接收到第二可撤销交付交易签名值,是则执行步骤C5,否则结束。
进一步地,所述步骤C6与步骤C7之间包括:交易双方分别判断是否接收到第二承诺交易公钥和第二承诺交易签名值,是则执行步骤C7,否则结束。
发明又提供了一种可撤销智能合约交易的实现装置,所述装置为交易发起者或者为交易响应者,所述装置包括:
第一交换模块,用于与交易另一方交换交付交易公钥;
第一创建模块,用于创建交付交易;
第一签名模块,用于使用自身的交付交易私钥对所述第一创建模块创建的交付交易进行签名得到交付交易签名值;
第二交换模块,用于与交易另一方交换所述第一签名模块签名得到的交付交易签名值;
第二创建模块,用于创建承诺交易;
第二签名模块,用于使用承诺交易私钥对所述第二创建模块创建的承诺交易进行签名得到承诺交易签名值;
第三交换模块,用于与交易另一方交换承诺交易公钥和所述第二签名模块得到的所述承诺交易签名值;
第一验证模块,用于使用所述第三交换模块接收到的交易另一方的承诺交易公钥对接收到的承诺交易签名值进行验证;
第三签名模块,用于在所述第一验证模块验证通过时,使用自身的出账交易私钥对自身的初始通道资金交易进行签名得到初始通道资金交易一重签名值;
第四交换模块,用于与交易另一方交换所述第三签名模块得到的所述初始通道资金交易一重签名值;
第二验证模块,用于使用所述第四交换模块接收到的出账交易公钥对接收到的初始通道资金交易一重签名值进行验证;
第一签名公布模块,用于在所述第二验证模块验证通过时,使用初始通道资金交易私钥对接收到的初始通道资金交易一重签名值进行签名得到二重签名值,并公布初始通道资金交易;
第一判断模块,用于判断所述第二创建模块创建的承诺交易是否被公布;
第二判断模块,用于在所述第一判断模块判断为是时,判断公布的承诺交易是否为第一承诺交易;
第三判断模块,用于在所述第二判断模块判断为否时,判断是否到达交易另一方的可撤销出账锁定时间;
第一执行模块,用于在所述第三判断模块判断为否时,执行可撤销出账;
第一设置模块,用于在所述第三判断模块判断为是时,设置可撤销出账无效,并设置违约补偿交易有效;
第二执行模块,用于在所述第二判断模块判断为是时和/或检测到交易另一方公布了第一承诺交易时,执行违约补偿交易。
进一步地,所述装置还包括:
第三创建模块,用于创建初始通道资金交易;
第五交换模块,用于与交易另一方交换可撤销交付交易公钥;
第四创建模块,用于创建可撤销交付交易;
第四签名模块,用于使用自身的可撤销交付交易私钥对所述可撤销交付交易进行签名;
第六交换模块,用于将所述第四签名模块得到的可撤销交付交易签名值与交易另一方进行交换;
第三验证模块,用于使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易签名值进行验证,当验证通过时触发所述第一交换模块进行工作。
进一步地,所述第三创建模块包括:
第一交换单元,用于与交易另一方交换入账识别码;
第二交换单元,用于与交易另一方交换出账交易公钥;
第一创建交换单元,用于创建初始通道资金交易的入账并与交易另一方进行交换;
第三交换单元,用于与交易另一方交换锁定通道资金地址;
第一验证单元,用于使用交易另一方的出账交易公钥验证初始通道资金交易的入账;
第二创建交换单元,用于在所述第一验证单元验证通过时,创建初始通道资金交易的出账并与交易另一方进行交换;
第一创建单元,用于根据自身的初始通道资金交易的入账和出账创建初始通道资金交易。
进一步地,所述第三创建模块还包括:
第一判断单元,用于判断所述第一交换单元是否接收到入账识别码,是则触发所述第二交换单元进行工作,否则结束。
进一步地,所述第三创建模块还包括:
第二判断单元,用于判断所述第二交换单元是否接收到出账交易公钥,是则触发所述第一创建交换单元进行工作,否则结束。
进一步地,所述第三创建模块还包括:
第三判断单元,用于判断所述第一创建交换单元是否接收到创建初始通道资金交易的入账,是则触发所述第三交换单元进行工作,否则结束。
进一步地,所述第三创建模块还包括:
第四判断单元,用于判断所述第三交换单元是否接收到锁定通道资金地址,是则触发所述第一验证单元进行工作,否则结束。
进一步地,所述第三创建模块还包括:
第五判断单元,用于判断所述第二创建交换单元是否接收到初始通道资金交易的出账,是则触发所述第二创建交换单元进行工作,否则结束。
进一步地,所述装置还包括:
第四判断模块,用于判断所述第五交换模块是否接收到可撤销交付交易公钥,是则触发所述第四创建模块进行工作,否则结束。
进一步地,所述装置还包括:
第五判断模块,用于判断所述第六交换模块是否接收到可撤销交付交易的签名值,是则触发所述第三验证模块进行工作,否则结束。
进一步地,所述装置还包括:
第六判断模块,用于判断所述第一交换模块是否接收到交付交易公钥,是则触发所述第一创建模块进行工作,否则结束。
进一步地,所述装置还包括:
第七判断模块,用于判断所述第二交换模块是否接收到交付交易签名值,是则触发所述第二创建模块进行工作,否则结束。
进一步地,所述装置还包括:
第八判断模块,用于判断所述第三交换模块是否接收到承诺交易公钥和承诺交易签名值,是则触发所述第一验证模块进行工作,否则结束。
进一步地,所述装置还包括:
第九判断模块,用于判断所述第四交换模块是否接收到初始通道资金交易一重签名值,是则触发所述第二验证模块进行工作,否则结束。
进一步地,所述装置还包括:
第七交换模块,用于在所述第一签名公布模块公布初始通道资金交易之后与交易另一方交换违约补偿交易公钥;
第五创建模块,用于创建违约补偿交易;
第五签名模块,用于使用自身的违约补偿交易私钥对所述第五创建模块创建的所述违约补偿交易进行签名得到交换违约补偿交易签名值,并与交易另一方交换违约补偿交易签名值;
第八交换模块,用于在所述第五签名模块与交易另一方交换违约补偿交易签名值之后与交易另一方交换第二可撤销交付交易公钥;
第六创建模块,用于创建第二可撤销交付交易;
第六签名模块,用于使用自身的第二可撤销交付交易私钥对所述第六创建模块创建的所述第二可撤销交付交易进行签名;
第九交换模块,用于与交易另一方交换所述第六签名模块签名得到的第二可撤销交付交易签名值;
第七创建模块,用于创建第二承诺交易;
第七签名模块,用于使用自身的第二承诺交易私钥对所述第七创建模块创建的所述第二承诺交易进行签名得到第二承诺交易签名值;
第十交换模块,用于与交易另一方交换第二承诺交易公钥和所述第二承诺交易签名值;
第四验证模块,用于使用所述第十交换模块接收到的第二承诺交易公钥对所述第十交换模块接收到的第二承诺交易签名值进行验证,如验证失败则触发所述第一判断模块进行工作;
第二签名公布模块,用于在所述第四验证模块验证通过时,使用自身的第二承诺交易私钥对接收到的第二承诺交易签名值进行再次签名得到承诺交易二重签名值,然后公布第二承诺交易。
进一步地,所述装置还包括:
第十判断模块,用于判断所述第七交换模块是否接收到违约补偿交易公钥,是则触发所述第五创建模块进行工作,否则结束。
进一步地,所述装置还包括:
第十一判断模块,用于判断所述第五签名模块是否接收到违约补偿交易签名值,是则触发所述第八交换模块进行工作,否则结束。
进一步地,所述装置还包括:
第十二判断模块,用于判断所述第八交换模块是否接收到第二可撤销交付交易公钥,是则触发所述第六创建模块进行工作,否则结束。
进一步地,所述装置还包括:
第十三判断模块,用于判断所述第九交换模块是否接收到第二可撤销交付交易签名值,是则触发所述第七创建模块进行工作,否则结束。
进一步地,所述装置还包括:
第十四判断模块,用于判断所述第十交换模块是否接收到第二承诺交易公钥和第二承诺交易签名值,是则触发所述第四验证模块进行工作,否则结束。
本发明与现有技术相比,具有以下优点:
本发明技术方案是一种可撤销智能合约交易的实现方法及装置,其实现原理为一旦交易被撤销,就视为无效交易,不会被公布到区块链上,提高了交易的安全性和有效性。
附图说明
图1和图2为本发明实施例二提供交易双方创建初始通道资金交易中的交易发起者的实现方法流程图;
图3和图4为本发明实施例三提供交易双方创建初始通道资金交易中的交易响应者的实现方法流程图;
图5为本发明实施例四提供交易发起者在资金交易通道内进行第二交易的实现方法流程图;
图6为本发明实施例五提供交易响应者在资金交易通道内进行第二交易的实现方法流程图;
图7为本发明实施例六提供一种撤销智能合约交易的实现过程流程图;
图8为本发明实施例七提供的一种可撤销智能合约交易的实现装置方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,初始通道资金交易(英文全称:Initial Channel FundingTransaction)是指交易双方在建立微交付通道时所建立的交易,目的是将双方进行的微交付金额锁定在微交付通道中;承诺交易(英文全称:Commitment Transaction)是指将交易双方在初始通道资金交易中所出资金进行承诺,目的是使双方的出资可撤销(赎回),同时也为建立违约赔偿交易做准备;交付交易(英文全称:Delivery Transaction)是指交易双方实际进行的交易;可撤销交付交易(英文全称:Revocable Delivery Transaction)是指交易双方可将已交付交易进行撤销的交易;违约赔偿交易(Breach Remedy Transaction)是指为保证交易双方各自利益而建立的交易,仅在无法进行正常交易的情况下启动,例如,交易双方中的任意一方恶意公布第一交易,则可将通道中的所有资金给另一方,这种惩罚即通过违约赔偿交易完成。
执行交付交易(英文全称:Execution Delivery Transaction)是指在带条件的可撤销交易中使用的执行交付交易的交易;超时交付交易(英文全称:Timeout DeliveryTransaction)是指在指定可撤销的整个交易过程中,需要设定时间交付交易条件的交易;超时可撤销交付交易(英文全称:Timeout Revocable Delivery Transaction)是指在所设定的交付超时时间之内启动的进行撤销交付的交易;超时违约赔偿交易(英文全称:Timeout Breach Remedy Transaction)是指在所设定的违约确认超时时间之内可启动的进行违约赔偿的交易。
入账(英文全称:Input)是指当前交易的资金来源,表示款项收入,一般是上一笔或几笔交易的出账,包括入账识别码和出账的索引号;出账(英文全称:Output)是指当前交易的资金去向,表示款项支出,一般是下一笔或几笔交易的入账,包括交易金额和指示交易金额消费的公钥脚本(即这些交易金额是如何消费的,包括签名值和完整公钥)。
实施例一
本发明实施例一提供可撤销智能合约交易的实现方法,包括:
步骤B1:交易双方交换交付交易公钥;
在本实施例中,步骤B1之前还包括:交易双方创建初始通道资金交易、交换可撤销交付交易公钥,并创建可撤销交付交易,交易双方分别使用各自的可撤销交付交易私钥对可撤销交付交易进行签名,并将可撤销交付交易签名值进行交换;交易双方分别使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易签名值进行验证,当验证通过时执行步骤B1。
在本实施例中,交易双方创建初始通道资金交易中的交易发起者的实现过程在实施例二进行说明,交易双方创建初始通道资金交易中的交易响应者的实现过程在实施例三进行说明;
交易双方创建初始通道资金交易,具体包括:
步骤A1:交易双方交换入账识别码;
在本实施例中,步骤A1与步骤A2之间包括:交易双方分别判断是否接收到入账识别码,是则执行步骤A2,否则结束。
步骤A2:交易双方交换出账交易公钥;
在本实施例中,步骤A2与步骤A3之间包括:交易双方分别判断是否接收到出账交易公钥,是则执行步骤A3,否则结束。
步骤A3:交易双方创建初始通道资金交易的入账并进行交换;
在本实施例中,步骤A3与步骤A4之间包括:交易双方分别判断是否接收到创建初始通道资金交易的入账,是则执行步骤A4,否则结束。
步骤A4:交易双方交换锁定通道资金地址;
在本实施例中,步骤A4与步骤A5之间包括:交易双方分别判断是否接收到锁定通道资金地址,是则执行步骤A5,否则结束。
步骤A5:交易双方分别使用交易另一方的出账交易公钥验证初始通道资金交易的入账,如验证成功则执行步骤A6,否则结束;
步骤A6:交易双方创建初始通道资金交易的出账并进行交换;
在本实施例中,步骤A6与步骤A7之间包括:交易双方分别判断是否接收到初始通道资金交易的出账,是则执行步骤A6,否则结束。
步骤A7:交易双方根据各自的初始通道资金交易的入账和出账创建初始通道资金交易。
在本实施例中,交换可撤销交付交易公钥与创建可撤销交付交易之间包括:交易双方判断是否接收到可撤销交付交易公钥,是则创建可撤销交付交易,否则结束。
在本实施例中,上述将可撤销交付交易签名值进行交换与交易双方分别使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易的签名值进行验证之间包括:交易双方判断是否接收到可撤销交付交易的签名值,是则使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易的签名值进行验证,否则结束。
在本实施例中,步骤B1与步骤B2之间包括:交易双方分别判断是否接收到交付交易公钥,是则执行步骤B2,否则结束。
步骤B2:交易双方创建交付交易,分别使用各自的交付交易私钥对交付交易进行签名,并交换交付交易签名值;
可选的,在本实施例中,步骤B2与步骤B3之间包括:交易双方分别判断是否接收到交付交易签名值,是则执行步骤B3,否则结束。
步骤B3:交易双方创建承诺交易,分别使用承诺交易私钥对承诺交易进行签名得到承诺交易签名值;
步骤B4:交易双方交换承诺交易公钥和承诺交易签名值;
可选的,在本实施例中,步骤B4与步骤B5之间包括:交易双方分别判断是否接收到承诺交易公钥和承诺交易签名值,是则执行步骤B5,否则结束。
步骤B5:交易双方分别使用接收到的交易另一方的承诺交易公钥对接收到的承诺交易签名值进行验证,如验证通过则执行步骤B6,否则结束;
步骤B6:交易双方分别使用各自的出账交易私钥对自身的初始通道资金交易进行签名得到初始通道资金交易一重签名值并进行交换;
可选的,在本实施例中,步骤B6与步骤B7之间包括:交易双方分别判断是否接收到初始通道资金交易一重签名值,是则执行步骤B7,否则结束。
步骤B7:交易双方分别使用接收到的出账交易公钥对接收到的初始通道资金交易一重签名值进行验证,如验证通过则执行步骤B8,否则结束;
步骤B8:交易一方使用初始通道资金交易私钥对接收到的初始通道资金交易一重签名值进行签名得到二重签名值,并公布初始通道资金交易;
当交易双方在公布初始通道资金交易之后,交易一方判断承诺交易是否被公布,是则执行步骤S1,否则结束;
步骤S1:交易一方判断公布的承诺交易是否为第一承诺交易,是则执行步骤S5,否则执行步骤S2;
步骤S2:交易一方判断是否到达交易另一方的可撤销出账锁定时间,是则执行步骤S4,否则执行步骤S3;
步骤S3:交易一方执行可撤销出账,结束;
步骤S4:交易一方设置可撤销出账无效,并设置违约补偿交易有效,当检测到交易另一方公布了第一承诺交易则执行步骤S5;
步骤S5:交易一方执行违约补偿交易。
在本实施例中,上述交易双方在公布初始通道资金交易与交易一方判断承诺交易是否被公布之间包括:
步骤C1:交易双方交换违约补偿交易公钥;
具体的,在本实施例中,步骤C1与步骤C2之间包括:交易双方分别判断是否接收到违约补偿交易公钥,是则执行步骤C2,否则结束。
步骤C2:交易双方分别创建违约补偿交易,使用各自的违约补偿交易私钥对违约补偿交易进行签名得到违约补偿交易签名值并交换违约补偿交易签名值;
可选的,在本实施例中,步骤C2与步骤C3之间包括:交易双方分别判断是否接收到违约补偿交易签名值,是则执行步骤C3,否则结束。
步骤C3:交易双方交换第二可撤销交付交易公钥;
可选的,在本实施例中,步骤C3与步骤C4之间包括:交易双方分别判断是否接收到第二可撤销交付交易公钥,是则执行步骤C4,否则结束。
步骤C4:交易双方分别创建第二可撤销交付交易,使用各自的第二可撤销交付交易私钥对第二可撤销交付交易进行签名得到第二可撤销交付交易签名值,并交换第二可撤销交付交易签名值;
可选的,在本实施例中,步骤C4与步骤C5之间包括:交易双方分别判断是否接收到第二可撤销交付交易签名值,是则执行步骤C5,否则结束。
步骤C5:交易双方分别创建第二承诺交易,并使用各自的第二承诺交易私钥对第二承诺交易进行签名得到第二承诺交易签名值;
步骤C6:交易双方交换第二承诺交易公钥和第二承诺交易签名值;
可选的,在本实施例中,步骤C6与步骤C7之间包括:交易双方分别判断是否接收到第二承诺交易公钥和第二承诺交易签名值,是则执行步骤C7,否则结束。
步骤C7:交易双方分别使用接收到的第二承诺交易公钥对接收到的第二承诺交易签名值进行验证,如验证成功则执行步骤C8,如验证失败则交易一方判断承诺交易是否被公布;
在本实施例中,交易一方判断承诺交易是否被公布可以是交易发起者进行判断或者交易响应者进行判断;
步骤C8:交易双方分别使用自身的第二承诺交易私钥对接收到的第二承诺交易签名值进行再次签名得到承诺交易二重签名值,然后公布第二承诺交易。
实施例二
本发明实施例二提供交易双方创建初始通道资金交易中的交易发起者的实现方法,如图1和图2所示,包括:
步骤100:交易发起者将发起者入账识别码发送给交易响应者;
具体的,在本实施例中,入账识别码用于表示交易时的资金来源;
步骤101:交易发起者判断是否接收到交易响应者发送的响应者入账识别码,是则执行步骤102,否则结束;
步骤102:交易发起者将发起者出账交易公钥发送给交易响应者;
步骤103:交易发起者判断是否接收到交易响应者发送的响应者出账交易公钥,是则执行步骤104,否则结束;
步骤104:交易发起者创建发起者初始通道资金交易的入账;
具体的,入账包括发起者的入账识别码和发起者的出账交易公钥哈希值。
步骤105:交易发起者将所创建的初始通道资金交易的入账发送给响应者;
步骤106:交易发起者判断是否接收到交易响应者发送的响应者初始通道资金交易的入账,是则执行107,否则结束;
步骤107:交易发起者将发起者锁定通道资金地址发送给响应者;
步骤108:交易发起者判断是否接收到交易响应者发送的响应者锁定通道资金地址,是则执行步骤109,否则结束;
步骤109:交易发起者根据响应者锁定通道资金地址获取响应者初始通道资金交易的入账,使用响应者出账交易公钥对获取的入账进行验证,如验证成功则执行步骤110,如验证失败则结束;
具体的,在本实施例中,步骤109具体包括:
步骤109-1:交易发起者判断区块链上是否有响应者锁定通道资金地址的资金记录,是则执行步骤109-2,否则结束;
步骤109-2:交易发起者判断记录的资金是否被消费,是则执行步骤110,否则结束;
步骤110:交易发起者创建发起者初始通道资金交易的出账;
步骤111:交易发起者将发起者初始通道资金交易的出账发送给交易响应者;
步骤112:交易发起者判断是否接收到交易响应者的初始通道资金交易的出账,是则执行步骤113,否则结束;
步骤113:交易发起者根据自身的初始通道资金交易的入账和出账创建初始通道资金交易;
步骤114:交易发起者将发起者可撤销交付交易公钥发送给交易响应者;
步骤115:交易发起者判断是否接收到交易响应者发送的响应者可撤销交付交易公钥,是则执行步骤116,否则结束;
步骤116:交易发起者创建发起者可撤销交付交易;
步骤117:交易发起者使用发起者可撤销交付交易私钥对发起者可撤销交付交易进行签名得到发起者可撤销交付交易的签名值;
步骤118:交易发起者将发起者可撤销交付交易的签名值发送给交易响应者;
步骤119:交易发起者判断是否接收到交易响应者发送的响应者可撤销交付交易的签名值,是则执行步骤120,否则结束;
步骤120:交易发起者将发起者交付交易公钥发送给交易响应者;
步骤121:交易发起者判断是否接收到交易响应者发送的响应者交付交易公钥,是则执行步骤122,否则结束;
步骤122:交易发起者创建发起者交付交易;
步骤123:交易发起者使用发起者交付交易私钥对发起者交付交易进行签名得到发起者交付交易签名值;
步骤124:交易发起者将发起者交付交易签名值发送给响应者;
步骤125:交易发起者判断是否接收到交易响应者所发送的响应者交付交易签名值,是则执行步骤126,否则结束;
步骤126:交易发起者创建发起者承诺交易;
步骤127:交易发起者使用发起者承诺交易私钥对发起者承诺交易进行签名得到发起者第一承诺交易签名值;
步骤128:交易发起者将发起者承诺交易公钥发送给交易响应者;
步骤129:交易发起者判断是否接收到交易响应者发送的响应者承诺交易公钥,是则执行步骤130,否则结束;
步骤130:交易发起者将发起者第一承诺交易签名值发送给交易响应者;
步骤131:交易发起者判断是否接收到交易响应者发送的响应者第一承诺交易签名值,是则执行步骤132,否则结束;
步骤132:交易发起者使用响应者承诺交易公钥对响应者第一承诺交易签名值进行验证,如验证成功则执行步骤133,如验证失败则结束;
具体的,在本实施例中,步骤133包括:
步骤132-1:交易发起者使用交易响应者发送的响应者承诺交易公钥对响应者第一承诺交易签名值进行解密得到第一解密结果;
步骤132-2:交易发起者根据第一哈希算法对响应者承诺交易进行计算得到第一哈希值;
步骤132-3:交易发起者判断第一解密结果与第一哈希值是否一致,是则执行步骤133,否则结束;
步骤133:交易发起者使用发起者出账交易私钥对发起者初始通道资金交易进行签名得到发起者初始通道资金交易一重签名值;
步骤134:交易发起者将发起者初始通道资金交易一重签名值发送给交易响应者;
步骤135:交易发起者判断是否接收到交易响应者发送的响应者初始通道资金交易一重签名值,是则执行步骤136,否则结束;
步骤136:交易发起者使用响应者出账交易公钥对响应者初始通道资金交易一重签名值进行验证,如验证成功则执行步骤137,如验证失败则结束;
具体的,在本实施例中,步骤136包括:
步骤136-1:交易发起者使用响应者出账交易公钥对响应者初始通道资金交易一重签名值进行解密得到第二解密结果;
步骤136-2:交易发起者根据第二哈希算法对响应者初始通道资金交易进行计算得到第二哈希值;
步骤136-3:交易发起者判断第二解密结果与第二哈希值是否一致,是则执行步骤137,否则结束;
步骤137:交易发起者使用发起者初始通道资金交易私钥对响应者的初始通道资金交易一重签名值进行签名得到初始通道资金交易二重签名值;
步骤138:交易发起者公布初始通道资金交易。
实施例三
本发明实施例三提供交易双方创建初始通道资金交易中的交易响应者的实现方法,如图3和图4所示,包括:
步骤200:交易响应者判断是否接收到交易发起者发送的发起者入账识别码,是则执行步骤201,否则结束;
具体的,在本实施例中,入账识别码用于表示交易时的资金来源;
步骤201:交易响应者将响应者入账识别码发送给交易发起者;
步骤202:交易响应者判断是否接收到交易发起者发送的发起者出账交易公钥,是则执行步骤203,否则结束;
步骤203:交易响应者将响应者出账交易公钥发送给交易发起者;
步骤204:交易响应者创建响应者初始通道资金交易的入账;
步骤205:交易响应者判断是否接收到交易发起者发送的发起者初始通道资金交易的入账,是则执行步骤206,否则结束;
步骤206:交易响应者将响应者初始通道资金交易的入账发送给交易发起者;
步骤207:交易响应者判断是否收到交易发起者发送的发起者锁定通道资金地址,是则执行步骤208,否则结束;
步骤208:交易响应者将响应者锁定通道资金地址发送给交易发起者;
步骤209:交易响应者根据发起者锁定通道资金地址获取发起者初始通道资金交易的入账,使用发起者出账交易公钥对获取的入账进行验证,如验证成功则执行步骤210,如验证失败则结束;
在本实施例中,步骤209具体包括:
步骤209-1:交易响应者判断区块链上是否有发起者锁定通道资金地址的资金记录,是则执行步骤209-2,否则结束;
步骤209-2:交易响应者判断记录的资金是否被消费,是则执行步骤207,否则结束;
步骤210:交易响应者创建响应者初始通道资金交易出账;
步骤211:交易响应者判断是否接收到交易发起者发送的发起者初始通道资金交易出账,是则执行步骤212,否则结束;
步骤212:交易响应者将响应者初始通道资金交易出账发送给交易发起者;
步骤213:交易响应者创建初始通道资金交易;
步骤214:交易响应者判断是否接收到交易发起者发送的发起者可撤销交付交易公钥,是则执行步骤215,否则结束;
步骤215:交易响应者将响应者可撤销交付交易公钥发送给交易发起者;
步骤216:交易响应者创建响应者可撤销交付交易;
步骤217:交易响应者使用响应者可撤销交付交易私钥对响应者可撤销交付交易进行签名;
步骤218:交易响应者判断是否接收到交易发起者发送的发起者可撤销交付交易的签名值,是则执行步骤219,否则结束;
步骤219:交易响应者将响应者可撤销交付交易的签名值发送给交易发起者;
步骤220:交易响应者判断是否接收到交易发起者发送的发起者交付交易公钥,是则执行步骤221,否则结束;
步骤221:交易响应者将响应者交付交易公钥发送给交易发起者;
步骤222:交易响应者创建响应者交付交易;
步骤223:交易响应者使用响应者交付交易私钥对响应者交付交易进行签名得到响应者交付交易签名值;
步骤224:交易响应者判断是否接收到交易发起者发送的发起者交付交易签名值,是则执行步骤225,否则结束;
步骤225:交易响应者将响应者交付交易签名值发送给交易发起者;
步骤226:交易响应者创建响应者承诺交易;
步骤227:交易响应者使用响应者承诺交易私钥对响应者承诺交易进行签名得到响应者第一承诺交易签名值;
步骤228:交易响应者判断是否接收到交易发起者发送的发起者承诺交易公钥,是则执行步骤229,否则结束;
步骤229:交易响应者将响应者承诺交易公钥发送给交易发起者;
步骤230:交易响应者判断是否接收到交易发起者发送的发起者第一承诺交易签名值,是则执行步骤231,否则结束;
步骤231:交易响应者将响应者第一承诺交易签名值发送给交易发起者;
步骤232:交易响应者使用发起者承诺交易公钥对发起者第一承诺交易签名值进行验证,如验证成功则执行步骤233,如验证失败则结束;
具体的,在本实施例,步骤232包括:
步骤232-1:交易响应者使用发起者承诺交易公钥对发起者第一承诺交易签名值进行解密得到第三解密结果;
步骤232-2:交易响应者根据第三哈希算法对发起者承诺交易进行计算得到第三哈希值;
步骤232-3:交易响应者判断第三解密结果与第三哈希值是否一致,是则执行步骤233,否则结束;
步骤233:交易响应者使用响应者出账交易私钥对响应者初始通道资金交易进行签名得到响应者初始通道资金交易一重签名值;
步骤234:交易响应者判断是否接收到交易发起者发送的发起者初始通道资金交易一重签名值,是则执行步骤235,否则结束;
步骤235:交易响应者使用发起者出账交易公钥对发起者初始通道资金交易一重签名值进行验证,如验证成功则执行步骤236,如验证失败则结束;
具体的,在本实施例,步骤235包括:
步骤235-1:交易响应者使用发起者出账交易公钥对发起者初始通道资金交易一重签名值进行解密得到第四解密结果;
步骤235-2:交易响应者根据第四哈希算法对发起者初始通道资金交易进行计算得到第四哈希值;
步骤235-3:交易响应者判断第四解密结果与第四哈希值是否一致,是则执行步骤236,否则结束;
步骤236:交易响应者将响应者初始通道资金交易一重签名值发送给交易发起者。
实施例四
本发明实施例四提供交易发起者在资金交易通道内进行第二交易的实现方法,如图5所示,包括:
步骤301:交易发起者将发起者违约补偿交易公钥发送给交易响应者;
步骤302:交易发起者判断是否接收到交易响应者的响应者违约补偿交易公钥,是则执行步骤303,否则结束;
步骤303:交易发起者创建发起者违约补偿交易,并使用发起者违约补偿交易私钥对发起者违约补偿交易进行签名得到发起者违约补偿交易签名值;
步骤304:交易发起者将发起者违约补偿交易签名值发送给交易响应者;
步骤305:交易发起者判断是否接收到交易响应者发送的响应者违约补偿交易签名值,是则执行步骤306,否则结束;
步骤306:交易发起者将发起者第二可撤销交付交易公钥发送给交易响应者;
步骤307:交易发起者判断是否接收到交易响应者发送的响应者第二可撤销交付交易公钥,是则执行步骤308,否则结束;
步骤308:交易发起者创建发起者第二可撤销交付交易,使用发起者第二可撤销交付交易私钥对发起者第二可撤销交付交易进行签名得到发起者第二可撤销交付交易签名值;
步骤309:交易发起者将发起者第二可撤销交付交易签名值发送给交易响应者;
步骤310:交易发起者判断是否接收到交易响应者发送的响应者第二可撤销交付交易的签名值,是则执行步骤311,否则结束;
步骤311:交易发起者创建发起者第二承诺交易,使用发起者第二承诺交易私钥对发起者第二承诺交易进行签名得到发起者第二承诺交易签名值;
步骤312:交易发起者将发起者第二承诺交易公钥发送给交易响应者;
步骤313:交易发起者判断是否接收到交易响应者发送的响应者第二承诺交易公钥,是则执行步骤314,否则结束;
步骤314:交易发起者将发起者第二承诺交易签名值发送给交易响应者;
步骤315:交易发起者判断是否接收到交易响应者发送的响应者第二承诺交易签名值,是则执行步骤316,否则结束;
步骤316:交易发起者使用响应者第二承诺交易公钥对响应者第二承诺交易签名值进行验证,如验证成功则执行步骤317,如验证失败则执行步骤318;
步骤317:交易发起者使用发起者第二承诺交易私钥对响应者第二承诺交易签名值进行再次签名得到发起者承诺交易二重签名值,然后公布发起者第二承诺交易;
步骤318:交易发起者判断交易响应者的响应者承诺交易是否被公布,是则执行步骤319,否则结束;
具体的,在本实施例中,交易发起者在区块链上查询是否有交易响应者的承诺交易,是则交易响应者的承诺交易被公布,否则交易响应者的承诺交易未被公布;
步骤319:交易发起者判断交易响应者发布的响应者承诺交易是否为第二承诺交易,是则执行步骤320,否则执行步骤323;
具体的,在本实施例中,交易发起者可以根据承诺交易的公布时间先后顺序判断是否为第二承诺交易;
步骤320:交易发起者判断是否到达交易响应者的可撤销出账锁定时间,是则执行步骤322,否则执行步骤321;
步骤321:交易发起者执行可撤销交易,结束;
在本实施例中,交易发起者通过执行可撤销交易拿回自己的资金;
步骤322:交易发起者设置可撤销交易无效标识和违约补偿交易标识,当检测到交易响应者公布了第一承诺交易执行步骤323;
步骤323:交易发起者执行违约补偿交易,结束;
在本实施例中,交易发起者通过执行违约补偿交易获取交易响应者的违约补偿金额。
实施例五
本发明实施例五提供交易响应者在资金交易通道内进行第二交易的实现方法,如图6所示,包括:
步骤401:交易响应者判断是否接收到交易发起者的发起者违约补偿交易公钥,是则执行步骤402,否则结束;
步骤402:交易响应者将响应者违约补偿交易公钥发送给交易发起者;
步骤403:交易响应者创建响应者违约补偿交易,使用响应者违约补偿交易私钥对响应者违约补偿交易进行签名得到响应者违约补偿交易签名值;
步骤404:交易响应者判断是否接收到交易发起者发送的发起者违约补偿交易签名值,是则执行步骤405,否则结束;
步骤405:交易响应者将响应者违约补偿交易签名值发送给交易发起者;
步骤406:交易响应者判断是否接收到交易发起者发送的发起者第二可撤销交付交易公钥,是则执行步骤407,否则结束;
步骤407:交易响应者将响应者第二可撤销交付交易公钥发送给交易发起者;
步骤408:交易响应者创建响应者第二可撤销交付交易,使用响应者第二可撤销交付交易私钥对响应者第二可撤销交付交易进行签名得到响应者第二可撤销交付交易签名值;
步骤409:交易响应者判断是否接收到交易发起者发送的发起者第二可撤销交付交易的签名值,是则执行步骤410,否则结束;
步骤410:交易响应者将响应者第二可撤销交付交易的签名值发送给交易发起者;
步骤411:交易响应者创建响应者第二承诺交易,使用响应者第二承诺交易私钥对响应者第二承诺交易进行签名得到响应者第二承诺交易签名值;
步骤412:交易响应者判断是否接收到交易发起者发送的发起者第二承诺交易公钥,是则执行步骤413,否则结束;
步骤413:交易响应者将响应者第二承诺交易公钥发送给交易发起者;
步骤414:交易响应者判断是否接收到交易发起者发送的发起者第二承诺交易签名值,是则执行步骤415,否则结束;
步骤415:交易响应者将响应者第二承诺交易签名值发送给交易发起者;
步骤416:交易响应者使用发起者第二承诺交易公钥对发起者第二承诺交易签名值进行验证,如验证成功则执行步骤417,如验证失败则执行步骤418;
步骤417:交易响应者对发起者第二承诺交易签名值进行再次签名得到响应者承诺交易二重签名值,然后公布响应者第二承诺交易;
步骤418:交易响应者判断交易发起者的发起者承诺交易是否被公布,是则执行步骤419,否则结束;
具体的,在本实施例中,交易响应者在区块链上查询是否有交易发起者的承诺交易,是则交易发起者的承诺交易被公布,否则交易发起者的承诺交易未被公布;
步骤419:交易响应者判断交易发起者发布的承诺交易是否为第二承诺交易,是则执行步骤420,否则执行步骤423;
具体的,在本实施例中,交易响应者可以根据承诺交易的公布时间先后顺序判断是否为第二承诺交易;
步骤420:交易响应者判断是否到达交易发起者的可撤销出账锁定时间,是则执行步骤422,否则执行步骤421;
步骤421:交易响应者执行可撤销交易,结束;
在本实施例中,交易响应者通过执行可撤销出账交易拿回自己的出资;
步骤422:交易响应者设置可撤销交易无效标识和违约补偿交易标识,当检测到交易发起者公布了第一承诺交易执行步骤423;
步骤423:交易响应者执行违约补偿交易,结束;
在本实施例中,交易响应者通过执行违约补偿交易获取交易发起者的违约补偿金额。
实施例六
本发明实施例六提供一种撤销智能合约交易的实现过程,如图7所示,本实施例方法包括:
步骤501:交易一方判断交易另一方承诺交易是否被公布,是则执行步骤502,否则结束;
具体的,在本实施例中,交易一方在区块链上查询是否有交易另一方的承诺交易,是则交易另一方的承诺交易被公布,否则交易另一方的承诺交易未被公布;
步骤502:交易一方判断交易另一方公布的承诺交易是否为第二承诺交易,是则执行步骤503,否则执行步骤506;
具体的,在本实施例中,交易一方可以根据交易另一方承诺交易的公布时间先后顺序判断交易另一方公布的承诺交易是否为第二承诺交易;
步骤503:交易一方判断是否到达交易另一方的可撤销出账锁定时间,是则执行步骤505,否则执行步骤504;
步骤504:交易一方执行可撤销出账交易,结束;
在本实施例中,交易一方通过执行可撤销出账交易拿回自己的出资;
步骤505:交易一方设置可撤销交易无效标识和违约补偿交易标识,执行步骤506;
步骤506:交易一方执行违约补偿交易,结束;
在本实施例中,交易一方通过执行违约补偿交易获取交易另一方的违约补偿金额。
实施例七
本发明实施例七提供一种可撤销智能合约交易的实现装置,该装置可以为交易发起者或者为交易响应者,例如在本次交易过程中为交易发起者,而在下一次交易中可能为交易响应者,如图8所示,本实施例的装置包括:
第一交换模块801,用于与交易另一方交换交付交易公钥;
在本实施例中,交付交易公钥与交付交易私钥相对应;
第一创建模块802,用于创建交付交易;
第一签名模块803,用于使用自身的交付交易私钥对第一创建模块802创建的交付交易进行签名得到交付交易签名值;
第二交换模块804,用于与交易另一方交换第一签名模块803签名得到的交付交易签名值;
第二创建模块805,用于创建承诺交易;
第二签名模块806,用于使用承诺交易私钥对第二创建模块805创建的承诺交易进行签名得到承诺交易签名值;
在本实施例中,承诺交易公钥与承诺交易私钥相对应;
第三交换模块807,用于与交易另一方交换承诺交易公钥和第二签名模块806得到的承诺交易签名值;
第一验证模块808,用于使用第三交换模块807接收到的交易另一方的承诺交易公钥对接收到的承诺交易签名值进行验证;
第三签名模块809,用于在第一验证模块808验证通过时,使用自身的出账交易私钥对自身的初始通道资金交易进行签名得到初始通道资金交易一重签名值;
在本实施例中,出账交易私钥与出账交易公钥相对应;
第四交换模块810,用于与交易另一方交换第三签名模块809得到的初始通道资金交易一重签名值;
第二验证模块811,用于使用第四交换模块810接收到的出账交易公钥对接收到的初始通道资金交易一重签名值进行验证;
第一签名公布模块812,用于在第二验证模块811验证通过时,使用初始通道资金交易私钥对接收到的初始通道资金交易一重签名值进行签名得到二重签名值,并公布初始通道资金交易;
在本实施例中,初始通道资金交易私钥与初始通道资金交易公钥相对应;
第一判断模块813,用于判断第二创建模块805创建的承诺交易是否被公布;
第二判断模块814,用于在第一判断模块813判断为是时,判断公布的承诺交易是否为第一承诺交易;
第三判断模块815,用于在第二判断模块814判断为否时,判断是否到达交易另一方的可撤销出账锁定时间;
第一执行模块816,用于在第三判断模块815判断为否时,执行可撤销出账;
第一设置模块817,用于在第三判断模块815判断为是时,设置可撤销出账无效,并设置违约补偿交易有效;
第二执行模块818,用于在第二判断模块814判断为是时和/或检测到交易另一方公布了第一承诺交易时,执行违约补偿交易。
进一步的,本实施例中的装置还包括:
第三创建模块,用于创建初始通道资金交易;
第五交换模块,用于与交易另一方交换可撤销交付交易公钥;
第四创建模块,用于创建可撤销交付交易;
第四签名模块,用于使用自身的可撤销交付交易私钥对可撤销交付交易进行签名;
第六交换模块,用于将第四签名模块得到的可撤销交付交易签名值与交易另一方进行交换;
第三验证模块,用于使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易签名值进行验证,当验证通过时触发第一交换模块进行工作。
在本实施例中,第三创建模块包括:
第一交换单元,用于与交易另一方交换入账识别码;
第二交换单元,用于与交易另一方交换出账交易公钥;
第一创建交换单元,用于创建初始通道资金交易的入账并与交易另一方进行交换;
第三交换单元,用于与交易另一方交换锁定通道资金地址;
第一验证单元,用于使用交易另一方的出账交易公钥验证初始通道资金交易的入账;
第二创建交换单元,用于在第一验证单元验证通过时,创建初始通道资金交易的出账并与交易另一方进行交换;
第一创建单元,用于根据自身的初始通道资金交易的入账和出账创建初始通道资金交易;
本实施例中的第三创建模块还包括:第一判断单元,用于判断第一交换单元是否接收到入账识别码,是则触发第二交换单元进行工作,否则结束。
本实施例中的第三创建模块还包括:第二判断单元,用于判断第二交换单元是否接收到出账交易公钥,是则触发第一创建交换单元进行工作,否则结束。
本实施例中的第三创建模块还包括:第三判断单元,用于判断第一创建交换单元是否接收到创建初始通道资金交易的入账,是则触发第三交换单元进行工作,否则结束。
本实施例中的第三创建模块还包括:第四判断单元,用于判断第三交换单元是否接收到锁定通道资金地址,是则触发第一验证单元进行工作,否则结束。
本实施例中的第三创建模块还包括:第五判断单元,用于判断第二创建交换单元是否接收到初始通道资金交易的出账,是则触发第一创建单元进行工作,否则结束。
可选的,本实施例中的装置还包括:第四判断模块,用于判断第五交换模块是否接收到可撤销交付交易公钥,是则触发第四创建模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第五判断模块,用于判断第六交换模块是否接收到可撤销交付交易的签名值,是则触发第三验证模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第六判断模块,用于判断第一交换模块是否接收到交付交易公钥,是则触发第一创建模块,否则结束。
可选的,本实施例中的装置还包括:第七判断模块,用于判断第二交换模块是否接收到交付交易签名值,是则触发第二创建模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第八判断模块,用于判断第三交换模块是否接收到承诺交易公钥和承诺交易签名值,是则触发第一验证模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第九判断模块,用于判断第四交换模块是否接收到初始通道资金交易一重签名值,是则触发第二验证模块进行工作,否则结束。
在本实施例中,上述装置还包括:
第七交换模块,用于在第一签名公布模块803公布初始通道资金交易之后与交易另一方交换违约补偿交易公钥;
第五创建模块,用于创建违约补偿交易;
第五签名模块,用于使用自身的违约补偿交易私钥对第五创建模块创建的违约补偿交易进行签名得到交换违约补偿交易签名值,并与交易另一方交换违约补偿交易签名值;
第八交换模块,用于在第五签名模块与交易另一方交换违约补偿交易签名值之后与交易另一方交换第二可撤销交付交易公钥;
第六创建模块,用于创建第二可撤销交付交易;
第六签名模块,用于使用自身的第二可撤销交付交易私钥对第六创建模块创建的第二可撤销交付交易进行签名;
第九交换模块,用于与交易另一方交换第六签名模块签名得到的第二可撤销交付交易签名值;
第七创建模块,用于创建第二承诺交易;
第七签名模块,用于使用自身的第二承诺交易私钥对第七创建模块创建的第二承诺交易进行签名得到第二承诺交易签名值;
第十交换模块,用于与交易另一方交换第二承诺交易公钥和第二承诺交易签名值;
第四验证模块,用于使用第十交换模块接收到的第二承诺交易公钥对第十交换模块接收到的第二承诺交易签名值进行验证,如验证失败则触发第一判断模块工作;
第二签名公布模块,用于在第四验证模块验证通过时,使用自身的第二承诺交易私钥对接收到的第二承诺交易签名值进行再次签名得到承诺交易二重签名值,然后公布第二承诺交易。
可选的,本实施例中的装置还包括:第十判断模块,用于判断第七交换模块是否接收到违约补偿交易公钥,是则触发第五创建模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第十一判断模块,用于判断第五签名模块是否接收到违约补偿交易签名值,是则触发第八交换模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第十二判断模块,用于判断第八交换模块是否接收到第二可撤销交付交易公钥,是则触发第六创建模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第十三判断模块,用于判断第九交换模块是否接收到第二可撤销交付交易签名值,是则触发第七创建模块进行工作,否则结束。
可选的,本实施例中的装置还包括:第十四判断模块,用于判断第十交换模块是否接收到第二承诺交易公钥和第二承诺交易签名值,是则触发第四验证模块进行工作,否则结束。
本发明实施例中的交易均是在微交付通道内完成的,并不是所有交付交易都上链,仅仅微交付通道中的初始通道资金交易以及关闭交易上链,在微交付通道中的其他交易均不上链。本发明技术方案解决了交易延展性问题;而且提高了交易的安全性和有效性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (38)

1.一种可撤销智能合约交易的实现方法,其特征在于,包括:
步骤B1:交易双方交换交付交易公钥;
步骤B2:交易双方创建交付交易,分别使用各自的交付交易私钥对所述交付交易进行签名,并交换交付交易签名值;
步骤B3:交易双方创建承诺交易,分别使用承诺交易私钥对所述承诺交易进行签名得到承诺交易签名值;
步骤B4:交易双方交换承诺交易公钥和承诺交易签名值;
步骤B5:交易双方分别使用接收到的交易另一方的承诺交易公钥对接收到的承诺交易签名值进行验证,如验证通过则执行步骤B6,否则结束;
步骤B6:交易双方分别使用各自的出账交易私钥对自身的初始通道资金交易进行签名得到初始通道资金交易一重签名值并进行交换;
步骤B7:交易双方分别使用接收到的出账交易公钥对接收到的初始通道资金交易一重签名值进行验证,如验证通过则执行步骤B8,否则结束;
步骤B8:交易一方使用初始通道资金交易私钥对接收到的初始通道资金交易一重签名值进行签名得到二重签名值,并公布初始通道资金交易;
当交易双方在公布初始通道资金交易之后,交易一方判断承诺交易是否被公布,是则执行步骤S1,否则结束;
步骤S1:交易一方判断公布的承诺交易是否为第一承诺交易,是则执行步骤S5,否则执行步骤S2;
步骤S2:交易一方判断是否到达交易另一方的可撤销出账锁定时间,是则执行步骤S4,否则执行步骤S3;
步骤S3:交易一方执行可撤销交易,结束;
步骤S4:交易一方设置可撤销交易无效,并设置违约补偿交易有效,当检测到交易另一方公布了第一承诺交易则执行步骤S5;
步骤S5:交易一方执行违约补偿交易;
所述交易双方在公布初始通道资金交易与交易一方判断承诺交易是否被公布之间包括:
步骤C1:交易双方交换违约补偿交易公钥;
步骤C2:交易双方分别创建违约补偿交易,使用各自的违约补偿交易私钥对所述违约补偿交易进行签名得到违约补偿交易签名值并交换违约补偿交易签名值;
步骤C3:交易双方交换第二可撤销交付交易公钥;
步骤C4:交易双方分别创建第二可撤销交付交易,使用各自的第二可撤销交付交易私钥对第二可撤销交付交易进行签名得到第二可撤销交付交易签名值,并交换第二可撤销交付交易签名值;
步骤C5:交易双方分别创建第二承诺交易,并使用各自的第二承诺交易私钥对第二承诺交易进行签名得到第二承诺交易签名值;
步骤C6:交易双方交换第二承诺交易公钥和第二承诺交易签名值;
步骤C7:交易双方分别使用接收到的第二承诺交易公钥对接收到的第二承诺交易签名值进行验证,如验证成功则执行步骤C8,如验证失败则交易一方判断承诺交易是否被公布;
步骤C8:交易双方分别使用自身的第二承诺交易私钥对接收到的第二承诺交易签名值进行再次签名得到承诺交易二重签名值,然后公布第二承诺交易。
2.如权利要求1所述的方法,其特征在于,所述步骤B1之前还包括:交易双方创建初始通道资金交易、交换可撤销交付交易公钥,并创建可撤销交付交易,交易双方分别使用各自的可撤销交付交易私钥对所述可撤销交付交易进行签名,并将可撤销交付交易签名值进行交换;交易双方分别使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易签名值进行验证,当验证通过时执行步骤B1。
3.如权利要求2所述的方法,其特征在于,所述交易双方创建初始通道资金交易包括:
步骤A1:交易双方交换入账识别码;
步骤A2:交易双方交换出账交易公钥;
步骤A3:交易双方创建初始通道资金交易的入账并进行交换;
步骤A4:交易双方交换锁定通道资金地址;
步骤A5:交易双方分别使用交易另一方的出账交易公钥验证与交易另一方的锁定通道资金地址对应的初始通道资金交易的入账,如验证成功则执行步骤A6,否则结束;
步骤A6:交易双方创建初始通道资金交易的出账并进行交换;
步骤A7:交易双方根据各自的初始通道资金交易的入账和出账创建初始通道资金交易。
4.如权利要求3所述的方法,其特征在于,所述步骤A1与步骤A2之间包括:
交易双方分别判断是否接收到入账识别码,是则执行步骤A2,否则结束。
5.如权利要求3所述的方法,其特征在于,所述步骤A2与步骤A3之间包括:交易双方分别判断是否接收到出账交易公钥,是则执行步骤A3,否则结束。
6.如权利要求3所述的方法,其特征在于,所述步骤A3与步骤A4之间包括:交易双方分别判断是否接收到创建初始通道资金交易的入账,是则执行步骤A4,否则结束。
7.如权利要求3所述的方法,其特征在于,所述步骤A4与步骤A5之间包括:交易双方分别判断是否接收到锁定通道资金地址,是则执行步骤A5,否则结束。
8.如权利要求3所述的方法,其特征在于,所述步骤A6与步骤A7之间包括:交易双方分别判断是否接收到初始通道资金交易的出账,是则执行步骤A6,否则结束。
9.如权利要求2所述的方法,其特征在于,所述交换可撤销交付交易公钥与创建可撤销交付交易之间包括:交易双方判断是否接收到可撤销交付交易公钥,是则创建可撤销交付交易,否则结束。
10.如权利要求2所述的方法,其特征在于,所述将可撤销交付交易签名值进行交换与交易双方分别使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易的签名值进行验证之间包括:交易双方判断是否接收到可撤销交付交易的签名值,是则使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易的签名值进行验证,否则结束。
11.如权利要求1所述的方法,其特征在于,所述步骤B1与步骤B2之间包括:交易双方分别判断是否接收到交付交易公钥,是则执行步骤B2,否则结束。
12.如权利要求1所述的方法,其特征在于,所述步骤B2与步骤B3之间包括:交易双方分别判断是否接收到交付交易签名值,是则执行步骤B3,否则结束。
13.如权利要求1所述的方法,其特征在于,所述步骤B4与步骤B5之间包括:交易双方分别判断是否接收到承诺交易公钥和承诺交易签名值,是则执行步骤B5,否则结束。
14.如权利要求1所述的方法,其特征在于,所述步骤B6与步骤B7之间包括:交易双方分别判断是否接收到初始通道资金交易一重签名值,是则执行步骤B7,否则结束。
15.如权利要求1所述的方法,其特征在于,所述步骤C1与步骤C2之间包括:交易双方分别判断是否接收到违约补偿交易公钥,是则执行步骤C2,否则结束。
16.如权利要求1所述的方法,其特征在于,所述步骤C2与步骤C3之间包括:交易双方分别判断是否接收到违约补偿交易签名值,是则执行步骤C3,否则结束。
17.如权利要求1所述的方法,其特征在于,所述步骤C3与步骤C4之间包括:交易双方分别判断是否接收到第二可撤销交付交易公钥,是则执行步骤C4,否则结束。
18.如权利要求1所述的方法,其特征在于,所述步骤C4与步骤C5之间包括:交易双方分别判断是否接收到第二可撤销交付交易签名值,是则执行步骤C5,否则结束。
19.如权利要求1所述的方法,其特征在于,所述步骤C6与步骤C7之间包括:交易双方分别判断是否接收到第二承诺交易公钥和第二承诺交易签名值,是则执行步骤C7,否则结束。
20.一种可撤销智能合约交易的实现装置,其特征在于,所述装置为交易发起者或者为交易响应者,所述装置包括:
第一交换模块,用于与交易另一方交换交付交易公钥;
第一创建模块,用于创建交付交易;
第一签名模块,用于使用自身的交付交易私钥对所述第一创建模块创建的交付交易进行签名得到交付交易签名值;
第二交换模块,用于与交易另一方交换所述第一签名模块签名得到的交付交易签名值;
第二创建模块,用于创建承诺交易;
第二签名模块,用于使用承诺交易私钥对所述第二创建模块创建的承诺交易进行签名得到承诺交易签名值;
第三交换模块,用于与交易另一方交换承诺交易公钥和所述第二签名模块得到的所述承诺交易签名值;
第一验证模块,用于使用所述第三交换模块接收到的交易另一方的承诺交易公钥对接收到的承诺交易签名值进行验证;
第三签名模块,用于在所述第一验证模块验证通过时,使用自身的出账交易私钥对自身的初始通道资金交易进行签名得到初始通道资金交易一重签名值;
第四交换模块,用于与交易另一方交换所述第三签名模块得到的所述初始通道资金交易一重签名值;
第二验证模块,用于使用所述第四交换模块接收到的出账交易公钥对接收到的初始通道资金交易一重签名值进行验证;
第一签名公布模块,用于在所述第二验证模块验证通过时,使用初始通道资金交易私钥对接收到的初始通道资金交易一重签名值进行签名得到二重签名值,并公布初始通道资金交易;
第一判断模块,用于判断所述第二创建模块创建的承诺交易是否被公布;
第二判断模块,用于在所述第一判断模块判断为是时,判断公布的承诺交易是否为第一承诺交易;
第三判断模块,用于在所述第二判断模块判断为否时,判断是否到达交易另一方的可撤销出账锁定时间;
第一执行模块,用于在所述第三判断模块判断为否时,执行可撤销出账;
第一设置模块,用于在所述第三判断模块判断为是时,设置可撤销出账无效,并设置违约补偿交易有效;
第二执行模块,用于在所述第二判断模块判断为是时和/或检测到交易另一方公布了第一承诺交易时,执行违约补偿交易;
第七交换模块,用于在所述第一签名公布模块公布初始通道资金交易之后与交易另一方交换违约补偿交易公钥;
第五创建模块,用于创建违约补偿交易;
第五签名模块,用于使用自身的违约补偿交易私钥对所述第五创建模块创建的所述违约补偿交易进行签名得到交换违约补偿交易签名值,并与交易另一方交换违约补偿交易签名值;
第八交换模块,用于在所述第五签名模块与交易另一方交换违约补偿交易签名值之后与交易另一方交换第二可撤销交付交易公钥;
第六创建模块,用于创建第二可撤销交付交易;
第六签名模块,用于使用自身的第二可撤销交付交易私钥对所述第六创建模块创建的所述第二可撤销交付交易进行签名;
第九交换模块,用于与交易另一方交换所述第六签名模块签名得到的第二可撤销交付交易签名值;
第七创建模块,用于创建第二承诺交易;
第七签名模块,用于使用自身的第二承诺交易私钥对所述第七创建模块创建的所述第二承诺交易进行签名得到第二承诺交易签名值;
第十交换模块,用于与交易另一方交换第二承诺交易公钥和所述第二承诺交易签名值;
第四验证模块,用于使用所述第十交换模块接收到的第二承诺交易公钥对所述第十交换模块接收到的第二承诺交易签名值进行验证,如验证失败则触发所述第一判断模块进行工作;
第二签名公布模块,用于在所述第四验证模块验证通过时,使用自身的第二承诺交易私钥对接收到的第二承诺交易签名值进行再次签名得到承诺交易二重签名值,然后公布第二承诺交易。
21.如权利要求20所述的装置,其特征在于,还包括:
第三创建模块,用于创建初始通道资金交易;
第五交换模块,用于与交易另一方交换可撤销交付交易公钥;
第四创建模块,用于创建可撤销交付交易;
第四签名模块,用于使用自身的可撤销交付交易私钥对所述可撤销交付交易进行签名;
第六交换模块,用于将所述第四签名模块得到的可撤销交付交易签名值与交易另一方进行交换;
第三验证模块,用于使用交易另一方的可撤销交付交易公钥对接收到的可撤销交付交易签名值进行验证,当验证通过时触发所述第一交换模块进行工作。
22.如权利要求21所述的装置,其特征在于,所述第三创建模块包括:
第一交换单元,用于与交易另一方交换入账识别码;
第二交换单元,用于与交易另一方交换出账交易公钥;
第一创建交换单元,用于创建初始通道资金交易的入账并与交易另一方进行交换;
第三交换单元,用于与交易另一方交换锁定通道资金地址;
第一验证单元,用于使用交易另一方的出账交易公钥验证初始通道资金交易的入账;
第二创建交换单元,用于在所述第一验证单元验证通过时,创建初始通道资金交易的出账并与交易另一方进行交换;
第一创建单元,用于根据自身的初始通道资金交易的入账和出账创建初始通道资金交易。
23.如权利要求22所述的装置,其特征在于,所述第三创建模块还包括:
第一判断单元,用于判断所述第一交换单元是否接收到入账识别码,是则触发所述第二交换单元进行工作,否则结束。
24.如权利要求22所述的装置,其特征在于,所述第三创建模块还包括:
第二判断单元,用于判断所述第二交换单元是否接收到出账交易公钥,是则触发所述第一创建交换单元进行工作,否则结束。
25.如权利要求22所述的装置,其特征在于,所述第三创建模块还包括:
第三判断单元,用于判断所述第一创建交换单元是否接收到创建初始通道资金交易的入账,是则触发所述第三交换单元进行工作,否则结束。
26.如权利要求22所述的装置,其特征在于,所述第三创建模块还包括:
第四判断单元,用于判断所述第三交换单元是否接收到锁定通道资金地址,是则触发所述第一验证单元进行工作,否则结束。
27.如权利要求22所述的装置,其特征在于,所述第三创建模块还包括:
第五判断单元,用于判断所述第二创建交换单元是否接收到初始通道资金交易的出账,是则触发所述第二创建交换单元进行工作,否则结束。
28.如权利要求21所述的装置,其特征在于,还包括:
第四判断模块,用于判断所述第五交换模块是否接收到可撤销交付交易公钥,是则触发所述第四创建模块进行工作,否则结束。
29.如权利要求21所述的装置,其特征在于,还包括:
第五判断模块,用于判断所述第六交换模块是否接收到可撤销交付交易的签名值,是则触发所述第三验证模块进行工作,否则结束。
30.如权利要求20所述的装置,其特征在于,还包括:
第六判断模块,用于判断所述第一交换模块是否接收到交付交易公钥,是则触发所述第一创建模块进行工作,否则结束。
31.如权利要求20所述的装置,其特征在于,还包括:
第七判断模块,用于判断所述第二交换模块是否接收到交付交易签名值,是则触发所述第二创建模块进行工作,否则结束。
32.如权利要求20所述的装置,其特征在于,还包括:
第八判断模块,用于判断所述第三交换模块是否接收到承诺交易公钥和承诺交易签名值,是则触发所述第一验证模块进行工作,否则结束。
33.如权利要求20所述的装置,其特征在于,还包括:
第九判断模块,用于判断所述第四交换模块是否接收到初始通道资金交易一重签名值,是则触发所述第二验证模块进行工作,否则结束。
34.如权利要求20所述的装置,其特征在于,还包括:
第十判断模块,用于判断所述第七交换模块是否接收到违约补偿交易公钥,是则触发所述第五创建模块进行工作,否则结束。
35.如权利要求20所述的装置,其特征在于,还包括:
第十一判断模块,用于判断所述第五签名模块是否接收到违约补偿交易签名值,是则触发所述第八交换模块进行工作,否则结束。
36.如权利要求20所述的装置,其特征在于,还包括:
第十二判断模块,用于判断所述第八交换模块是否接收到第二可撤销交付交易公钥,是则触发所述第六创建模块进行工作,否则结束。
37.如权利要求20所述的装置,其特征在于,还包括:
第十三判断模块,用于判断所述第九交换模块是否接收到第二可撤销交付交易签名值,是则触发所述第七创建模块进行工作,否则结束。
38.如权利要求20所述的装置,其特征在于,还包括:
第十四判断模块,用于判断所述第十交换模块是否接收到第二承诺交易公钥和第二承诺交易签名值,是则触发所述第四验证模块进行工作,否则结束。
CN201710516410.5A 2017-06-29 2017-06-29 一种可撤销智能合约交易的实现方法及装置 Active CN107180353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710516410.5A CN107180353B (zh) 2017-06-29 2017-06-29 一种可撤销智能合约交易的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710516410.5A CN107180353B (zh) 2017-06-29 2017-06-29 一种可撤销智能合约交易的实现方法及装置

Publications (2)

Publication Number Publication Date
CN107180353A CN107180353A (zh) 2017-09-19
CN107180353B true CN107180353B (zh) 2021-04-06

Family

ID=59845783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710516410.5A Active CN107180353B (zh) 2017-06-29 2017-06-29 一种可撤销智能合约交易的实现方法及装置

Country Status (1)

Country Link
CN (1) CN107180353B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI648680B (zh) * 2017-12-01 2019-01-21 鯨鏈科技股份有限公司 智能合約系統、合約制訂方法與電腦可讀取儲存裝置
GB201803815D0 (en) * 2018-03-09 2018-04-25 Nchain Holdings Ltd Computer-implemented methods and systems
CN109118231B (zh) * 2018-05-31 2022-03-29 起立科技(北京)有限公司 一种基于区块链技术的承诺应用系统
CN109087080B (zh) * 2018-07-13 2020-11-06 杭州复杂美科技有限公司 跨链交易方法、设备和存储介质
CN111833186A (zh) * 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
CN109583886B (zh) 2018-09-30 2020-07-03 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备
US20200134615A1 (en) * 2018-10-31 2020-04-30 Zhongwei Wu System and methods for creating, transfering, and invoking a transferable promise
CN111210345B (zh) * 2018-11-21 2023-02-17 深圳市文鼎创数据科技有限公司 一种基于区块链网络交易的签名方法、装置及终端设备
CN113537986B (zh) * 2021-07-16 2024-04-05 广州电力交易中心有限责任公司 一种基于区块链和密码技术的电力交易方法及其系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640579B2 (en) * 2005-09-09 2009-12-29 Microsoft Corporation Securely roaming digital identities
CN105469510B (zh) * 2014-10-12 2018-01-09 吴思进 可预告延时支付或找回的加密货币钱包
CN105827655B (zh) * 2016-05-27 2019-04-16 飞天诚信科技股份有限公司 一种智能密钥设备及其工作方法
CN106504031A (zh) * 2016-11-11 2017-03-15 广州普惠创新金融信息服务有限公司 一种基于分类交易系统的询价数据自动撤销方法、装置及系统
CN106504094B (zh) * 2016-11-25 2021-06-15 中国银行股份有限公司 基于区块链技术的分布式总账系统的交易撮合方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments;Joseph Poon et al.;《2016 DRAFT Version 0.5.9.2》;20160114;全文 *

Also Published As

Publication number Publication date
CN107180353A (zh) 2017-09-19

Similar Documents

Publication Publication Date Title
CN107180353B (zh) 一种可撤销智能合约交易的实现方法及装置
US11687924B2 (en) Cryptocurrency infrastructure system
KR102111368B1 (ko) 가상화폐 거래 시스템 및 방법
AU2018349940B2 (en) System and method for information protection
AU2017355448B2 (en) Systems and methods for creating a universal record
CN107683493B (zh) 用于基于交易的部分验证来更新分布式账本的系统和方法
US20150356523A1 (en) Decentralized identity verification systems and methods
WO2021008453A1 (zh) 一种基于标识认证的区块链离线交易方法和系统
CN111201752A (zh) 基于哈希的数据验证系统
CN110692228A (zh) 基于区块链中智能合约保护交易活动敏感数据的方法和设备
US11455642B1 (en) Distributed ledger based interchange
WO2018197491A1 (en) Method and system for settling a blockchain transaction
RU2018142270A (ru) Система распространения и верификации распределенных транзакций
EP3433814A1 (en) Methods and systems for recording multiple transactions on a blockchain
US10657523B2 (en) Reconciling electronic transactions
US20230325791A1 (en) Proxied cross-ledger authentication
US20210334809A1 (en) Transaction method and apparatus based on blind signature
CN113570350A (zh) 一种基于区块链的票据数字化交互系统及其方法
CN111062717B (zh) 一种数据转移处理方法、装置和计算机可读存储介质
CN112419021B (zh) 电子发票验证方法、系统、存储介质、计算机设备、终端
CN104282096B (zh) 实现数字签名的方法以及用于实现数字签名的pos终端
CN112734421A (zh) 基于三方多签和可信签名交易的资产托管清算方法及系统
CN114945931A (zh) 用于减轻票据融资欺诈的方法和设备
CA2983684C (en) Method of retaining transaction context
AU2018282255A1 (en) System and method for secure transmission of data and data authentication

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