CN106504008B - 一种基于区块链的公平合同签署方法 - Google Patents
一种基于区块链的公平合同签署方法 Download PDFInfo
- Publication number
- CN106504008B CN106504008B CN201610926362.2A CN201610926362A CN106504008B CN 106504008 B CN106504008 B CN 106504008B CN 201610926362 A CN201610926362 A CN 201610926362A CN 106504008 B CN106504008 B CN 106504008B
- Authority
- CN
- China
- Prior art keywords
- block
- bob
- alice
- contract
- catenary system
- 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.)
- Expired - Fee Related
Links
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
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services; Handling legal documents
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
Abstract
本发明涉及一种基于区块链的公平合同签署方法,该方法涉及Alice和Bob两个用户实体和区块链系统。其步骤包括:1)Alice和Bob分别生成各自的有效合同认可条款PAA和PAB;2)Alice和Bob交换各自的有效合同认可条款PAA和PAB、各自对有效合同认可条款的签名以及各自从区块链系统读取的区块高度BHA和BHB;3)Alice和Bob交换各自生成的随机数和数字签名,并根据区块链系统和对方的有效合同认可条款验证是否生成了有效的合同,如果无效需要从步骤2)重新执行,否则结束。本发明不需要可信第三方、无需对区块链系统进行任何扩展,能够公平的完成双方的合同签署,解决了背景技术中需要签署合同的可信第三方、或者达不到公平性要求、或者需要修改区块链系统的问题。
Description
技术领域
本发明涉及信息安全领域,特别是涉及一种基于区块链的公平合同签署方法。
背景技术
区块链(blockchain)最早是由比特币的创始人中本聪(Satoshi)提出的,它的本质是一个通过去中心化的方式维持的一个可靠的数据库。区块链是一串使用密码学方法产生的数据块,保证了添加到区块链的数据被永的存储,一旦存储便不容易被篡改,而且数据对所有人都公开,所有信息高度透明,交易记录也可追踪。它给我们提供了一个全球可信的记事簿和全球时钟,时钟在新区块出现时更新,并且每个区块也可被区块的头部哈希值唯一标识。
传统的合同签署需要当事人坐在一起,通过面谈的形式制定合同并达成一致,然后把合同记录在纸张上,双方在纸上签字,这需要耗费大量的时间、精力和金钱。随着互联网的发展和电子签名法的落地,人们开始通过互联网完成合同签署。通常这意味着合同签署的双方有一个共同可信任的协助签署合同的第三方机构,该机构负责对合同签署中出现的不公平问题进行处理。早期也确实存在一些不需要第三方的公平合同签署方法,然而这些方法对于单方停止的问题无法处理,达不到人们期望的公平性。早期比较特殊的一个方法是Rabin基于签名信标的公平合同签署方法,但是这个方法需要一个可信第三方来提供签名信标帧服务。
区块链系统为公平的合同签署协议提供了新的选择。Wan提出把区块链作为可信第三方,由区块链完成对合同的验证,并为双方的合同进行背书。Kiayias提出基于全球交易账本的多方计算协议,通过在区块链系统增设一个验证方来监督协议的执行,保证计算的公平性。公平合同签署作为多方计算协议的一个特殊类别,也可以在Kiayias的框架下实现。这些技术的问题在于需要对区块链进行扩展,而事实上对区块链扩展并不容易,因而在实用上受到限制。
本发明基于现有的区块链系统,采用类似Rabin签名信标的方法,把区块的头部哈希值的一部分作为随机值,用一个区块的的高度和块内的时间戳作为计时器,只需要一个满足条件的区块出现有效合同就生成。本发明实现了在区块链上公平地签署合同的目的,克服了传统技术中需要寻找双方都可信的合同签署第三方的问题,方便了电子合同的签署,克服了部分传统方案中公平性得不到保证的问题,具有较好的公平性,克服了一些方案中需要修改区块链系统的问题,方便部署实施。
发明内容
本发明的目的在于在区块链上公平地签署合同,提供一种基于区块链的公平合同签署方法。
为实现上述目的,本发明给出如下方法:
1.该方法涉及Alice和Bob两个用户实以及一个区块链系统,包括以下步骤:
1).Alice和Bob分别生成各自的有效合同认可条款PAA和PAB;
2).Alice和Bob交换各自的有效合同认可条款PAA和PAB、各自对有效合同认可条款的签名以及各自从区块链系统读取的区块高度BHA和BHB;
3).Alice和Bob交换各自生成的随机数和数字签名,并根据区块链系统和对方的有效合同认可条款验证是否生成了有效的合同,如果合同无效则从步骤2)重新开始执行,如果合同有效则完成合同签署;
2.上述步骤1)中Alice和Bob分别生成各自的有效合同认可条款PAA和PAB具体如下:
11)Alice和Bob协商好待签署的合同C,延迟参数d和有效区块参数f,并且约定符号r表示某个随机数,i表示区块链系统中某个区块的高度,t表示区块i所包含的时间戳,定义M=(r,i,t,d,f);
12)Alice生成有效合同认可条款PAA:“如果Bob给出一个Alice对(C,M)的有效数字签名,并且M中的信息在区块链系统中得到验证,那么Alice认可合同C为有效合同;其中M中的信息在区块链系统中得到验证定义为任何实体都可以在区块链系统中找到高度为i,时间戳为t的区块,并且在第i+d个区块之后的f个区块中存在一个区块,该区块的哈希值按照大头顺序最后的log2k个比特形成一个比特串,k是大于128的自然数,该比特串与r的二进制比特串相同”;
13)Bob生成有效合同认可条款PAB:“如果Alice给出一个Bob对(C,M)的有效数字签名,并且M中的信息在区块链系统中得到验证,那么Bob认可合同C为有效合同;其中M中的信息在区块链系统中得到验证定义为任何实体都可以在区块链系统中找到高度为i,时间戳为t的区块,并且在第i+d个区块之后的f个区块中存在一个区块,该区块的哈希值按照大头顺序最后的log2k个比特形成一个比特串,k是大于128的自然数,该比特串与r的二进制比特串相同”。
3.上述步骤2)中Alice和Bob交换各自的有效合同认可条款PAA和PAB、各自对有效合同认可条款的签名以及各自从区块链系统读取的区块高度BHA和BHB具体如下:
21)Alice在区块链系统中读取最新区块的高度BHA;
22)Bob在区块链系统中读取最新区块的高度BHB;
23)Alice对PAA签名得到相应的数字签名,发送BHA、PAA及其数字签名给Bob,并设置超时定时器,时长为2△,其中△是区块链系统中新区块出现的平均时间,单位为秒,且△∈{1,...,600},如果定时器超时,Alice停止协议,否则Alice收到Bob的消息后,验证PAB的数字签名,如果数字签名无效,Alice停止协议,否则Alice等待区块链系统中高度为i=max(BHA,BHB)+1的新区块出现;
24)Bob对PAB签名得到相应的数字签名,发送BHB、PAB及其数字签名给Alice,并设置超时定时器,时长为2△,如果定时器超时,Bob停止协议,否则Bob收到Alice的消息后,验证PAA的数字签名,如果数字签名无效,Bob停止协议,否则Bob等待区块链系统中高度为i=max(BHA,BHB)+1的新区块出现;
4.上述步骤3)中Alice和Bob交换各自生成的随机数和数字签名,并根据区块链系统和对方的有效合同认可条款验证是否生成了有效的合同,如果合同无效则从步骤2)重新开始执行,如果合同有效则完成合同签署,具体如下:
31)Alice和Bob分别读取区块链系统中区块i所包含的时间戳t,并分别读取各自本地计算机的时间t0A和t0B;
32)Alice计算tdA=t0A-t,如果|tdA|>v,退出协议,其中v∈{1,...,7200}是一个用户可接受的时间误差,单位为秒,Bob同样计算tdB=t0B-t,如果|tdB|>v,退出协议;
33)Alice选择随机数rA∈{1,...,k},k是大于128的自然数,发送rA给Bob,设置定时器,时长为T=d△/2(2b+3),其中b∈{0,...,10239}是Alice、Bob准备交换的关于(C,M)的数字签名的数量减1的值,Bob同样选择随机数rB∈{1,...,k},发送rB给Alice,设置定时器,时长为T。
34)如果Alice的定时器超时,停止协议,否则Alice收到rB,计算r=(rA+rB)mod k,设置M=(r,i,t,d,f),之后Alice生成关于合同的数字签名SigA=SignA(C,M),并发送SigA给Bob,设置定时器,时长为T,同样的,如果Bob的定时器超时,Bob停止协议,否则Bob收到rA,计算r=(rA+rB)mod k,设置M=(r,i,t,d,f),之后Bob生成关于合同的数字签名SigB=SignB(C,M),并发送SigB给Alice,设置定时器,时长为T;
35)如果Alice或Bob的定时器超时,Alice或Bob停止协议,否则Alice和Bob继续交换b个数字签名如下:①Alice设置计数器x初值为1,Bob同样设置计数器y初值为1②Alice设置r0=r,计算rx=hash(rx-1),更新Mx=(rx,i,t,d,f),然后生成(C,Mx)的数字签名SigAx=SignA(C,Mx),并把SigAx发送给Bob,设置定时器,时长为T,同样的,Bob也生成SigBy=SignB(C,My),并把SigBy发送给Alice,设置定时器,时长为T,其中hash代表一个哈希算法,输入与输出的范围都是{1,...,k};③如果Alice或Bob的定时器超时,Alice或Bob终止协议,否则各自验证接收到的数字签名,如果验证失败,终止协议,否则各自的计数器x和y进行加1的自增运算,如果x或y自增之后大于b就执行步骤36),否则返回步骤②继续执行。
36)Alice和Bob等待区块链中区块i+d的出现,在区块i+d之后出现的f个区块中,如果存在一个区块,该区块的哈希值按照大头顺序最后的log2k个比特形成一个比特串,该比特串与集合{r,r1,…,rb}中任意一个元素的二进制比特串相同,那么合同签署成功,协议终止;否则Alice和Bob需要重新从步骤2)开始执行协议,直至合同签署成功。
本发明具有以下优点:
首先,不需要可信第三方,签署合同的用户实体只需要依赖人人都可以公开验证的区块链系统,就可以公平的完成合同的签署。其次,不需要对区块链系统进行任何的升级改造,只是被动的使用区块链系统的信息,就可以达到协议的目的,方便了协议的部署。最后,本发明对于多种数字货币所产生的区块链都是适用的,只需要调整M中的参数,就可以基于不同数字货币达到公平的签署合同的目的。总之,本发明提供了一种可方便实施的基于区块链的公平合同签署方法。
本发明所提供的基于区块链的公平合同签署方法,可以用于电子商务环境中需要通过网络签署合同的场景。
附图说明
图1为区块链系统结构图
图2为单个用户实体的合同签署过程
具体实施方式
假设两个用户实体张三和李四,把比特币的区块链作为合同签署中所使用的区块链系统。首先,我们假设张三和李四有有效的数字证书并且交换并验证了各自的数字证书,确认了彼此数字证书的有效性,即数字证书由某个可信的证书权威发布,并且尚未被吊销,在有效期内。注意这里的可信第三方并不是签署合同所需的可信第三方,仅仅是完成了数字证书颁发的数字证书权威。这样的机构在全国范围内有很多,例如广东省的电子商务认证中心就是一个证书权威,它仅证明某个身份和某个公钥是可以对应起来的。
区块链系统如图1所示,通过在每一个区块头部包含前一个区块的哈希值形成一个链状结构,在每一个区块的头部还包含时间戳信息。区块链的高度就是这个链壮结构所包含的除创世块之外的区块个数。
现在张三李四都有彼此的数字证书,开始执行公平的合同签署方法,图2给出了从单个用户实体的角度合同签署的主要步骤。
实施例1
1.张三和李四分别生成各自的有效合同认可条款PAA和PAB:
1)张三和李四首先协商合同的条款,就合同每一项条款达成一致,双方一致同意的合同条款我们成为合同C。张三和李四协商确认延迟参数d=10和有效区块参数f=2,并且约定符号r表示某个随机数,i表示区块链系统中某个区块的高度,t表示区块i所包含的时间戳,定义M=(r,i,t,10,2);
2)张三生成有效合同认可条款PAA:“如果李四给出一个张三对(C,M)的有效数字签名,并且M中的信息在区块链系统中得到验证,那么张三认可合同C为有效合同;其中M中的信息在区块链系统中得到验证定义为任何实体都可以在区块链系统中找到高度为i,时间戳为t的区块,并且在第i+10个区块之后的2个区块中存在一个区块,该区块的哈希值按照大头顺序最后的10个比特形成一个比特串,该比特串与r的二进制比特串相同”;
3)李四生成有效合同认可条款PAB:“如果张三给出一个李四对(C,M)的有效数字签名,并且M中的信息在区块链系统中得到验证,那么李四认可合同C为有效合同;其中M中的信息在区块链系统中得到验证定义为任何实体都可以在区块链系统中找到高度为i,时间戳为t的区块,并且在第i+10个区块之后的2个区块中存在一个区块,该区块的哈希值按照大头顺序最后的10个比特形成一个比特串,该比特串与r的二进制比特串相同”。
2.张三和李四交换各自的有效合同认可条款PAA和PAB、各自对有效合同认可条款的签名以及各自从区块链系统读取的区块高度BHA和BHB:
1)张三在区块链系统中读取最新区块的高度BHA,例如BHA=435552;
2)李四在区块链系统中读取最新区块的高度BHB,例如BHB=435553;这里张三和李四读取的同一个区块链系统,但是因为读取的时间不同,各自读取的区块高度不一定相同,在本实施例中,李四读取的时间显然比张三晚一些。
3)张三与李四建立一个TCP连接,以发送和接收消息。之后张三对PAA签名得到相应的数字签名,即把PAA作为消息,使用张三的数字证书中的签名算法,比如是RSA签名算法,使用张三自身的私钥,生成一个数字签名。之后张三把BHA=435552、PAA的具体内容及其数字签名发送给李四,并设置超时定时器,时长为2△=1200秒,即10分钟。如果定时器超时,张三停止协议,否则张三收到李四的消息后,使用李四的数字证书中的公钥和数字签名验证算法验证PAB的数字签名,如果李四的数字签名无效,张三停止协议,否则张三等待区块链系统中高度为i=max(435552,435553)+1,即435554的新区块出现,其中max是计算两个数中较大的数的一个通用函数。
4)同样的,李四在读取到BHB之后,与张三建立好TCP连接,李四类似的对PAB签名得到相应的数字签名,并发送BHB、PAB及其数字签名给张三,并设置超时定时器,时长为10分钟。如果定时器超时,李四停止协议。否则李四收到张三的消息后,验证PAA的数字签名,如果数字签名无效,李四停止协议,否则李四等待区块链系统中高度为435554的新区块出现;
4.张三和李四交换各自生成的随机数和数字签名,并根据区块链系统和对方的有效合同认可条款验证是否生成了有效的合同:
1)张三和李四分别读取区块链系统中区块435554所包含的时间戳t=1477250401,并分别读取各自本地计算机的时间t0A和t0B;
2)张三计算tdA=t0A-t,如果|tdA|>600秒,退出协议,李四同样计算tdB=t0B-t,如果|tdB|>600秒,退出协议;
3)张三选择随机数rA∈{1,...,1024},例如rA=531,发送rA给李四,设置定时器,时长为T=10*600/2(2*511+3)≈3s,李四同样选择随机数rB∈{1,...,1024},例如rB=697,发送rB给Alice,设置定时器,时长为3s。
4)如果张三的定时器超时,停止协议,否则张三收到rB,计算r=(rA+rB)mod k,即r=(531+697)mod1024=204,设置M=(204,435554,1477250401,10,2),之后张三生成关于合同的数字签名SigA=SignA(C,M),即使用张三的数字证书中所指定的数字签名算法,例如RSA算法,使用张三的私钥,对电子合同C和串接在后面的M进行计算,得到关于(C,M)的数字签字,其中(C,M)是常用表达,表示C的比特串表示和M的比特串表示串接起来。之后张三发送SigA给李四,设置定时器,时长为3s。同样的,如果李四的定时器超时,李四停止协议,否则李四收到rA=531,计算r=(rA+rB)mod k,即r=204,设置M=(204,435554,1477250401,10,2),之后李四生成关于合同的数字签名SigB=SignB(C,M),并发送SigB给Alice,设置定时器,时长为3s;
5)如果张三或李四的定时器超时,张三或李四停止协议,否则张三和李四继续交换b=511个数字签名如下:①张三设置计数器x,初值为1,李四同样设置计数器y,初值为1②张三设置r0=204,计算rx=hash(rx-1),即x是1时,计算r1=hash(r0),x是2时,计算r2=hash(r1),以此类推,并且每次计算的r,r1,…r511需要存储到一个数组中,hash可以直接采用SHA256算法,但是只取最后的10个比特作为输出。张三使用此次计算的rx更新Mx=(rx,435554,1477250401,10,2),然后生成(C,Mx)的数字签名SigAx=SignA(C,Mx),该数字签名的计算过程与计算SigA的过程类似。张三之后把SigAx发送给李四,设置定时器,时长为3s,同样的,李四也生成SigBy=SignB(C,My),并把SigBy发送给张三,设置定时器,时长为3s;③如果张三或李四的定时器超时,张三或李四终止协议,否则各自验证接收到的数字签名,如果验证失败,终止协议,否则各自的计数器x和y进行加1的自增运算,例如x当前值是1,自增之后就成为2,y类似。如果x或y自增之后大于511就执行步骤6),否则返回步骤②继续执行。
6)张三和李四等待区块链中区块435564的出现,在区块435564之后出现的2个区块中,即区块435565和区块435566,如果在这两个区块中存在一个区块,该区块的哈希值按照大头顺序最后的10个比特形成一个比特串,例如435565区块的比特串是”1011000010”,435566区块的比特串是”1010001010“。这两个比特串中任意一个与集合{r,r1,…,r511}中任意一个元素的二进制比特串相同,那么合同签署成功,协议终止;否则张三和李四需要从步骤2重新开始执行协议,直至合同签署成功。
实施例2
实施例2与实施例1相同,除了在步骤2中,张三和李四首先交换交换各自的有效合同认可条款PAA和PAB以及各自对有效合同认可条款的签名,然后他们交换各自从区块链系统读取的区块高度BHA和BHB。并且在步骤4的第6)步中,合同签署失败时,张三和李四执行步骤2时,不在重复交换PAA和PAB以及各自对有效合同认可条款的签名,而仅仅是交换各自从区块链系统读取的区块高度BHA和BHB。
Claims (1)
1.一种基于区块链的公平合同签署方法,包括Alice和Bob两个用户实体以及一个区块链系统,特征在于包括以下三个步骤:
S1)Alice和Bob分别生成各自的有效合同认可条款PAA和PAB;
S2)Alice和Bob交换各自的有效合同认可条款PAA和PAB、各自对有效合同认可条款的签名以及各自从区块链系统读取的区块高度BHA和BHB;
S3)Alice和Bob交换各自生成的随机数和数字签名,并根据区块链系统和对方的有效合同认可条款验证是否生成了有效的合同,若合同无效则从步骤S2)重新开始执行,若合同有效则完成合同签署;
所述的步骤S1)包括:
S11)Alice和Bob协商好待签署的合同C,延迟参数d和有效区块参数f,并且约定符号r表示某个随机数,i表示区块链系统中某个区块的高度,t表示区块i所包含的时间戳,定义M=(r,i,t,d,f);
S12)Alice生成有效合同认可条款PAA:“如果Bob给出一个Alice对(C,M)的有效数字签名,并且M中的信息在区块链系统中得到验证,那么Alice认可合同C为有效合同;其中M中的信息在区块链系统中得到验证定义为任何实体都可以在区块链系统中找到高度为i,时间戳为t的区块,并且在第i+d个区块之后的f个区块中存在一个区块,该区块的哈希值按照大头顺序最后的log2k个比特形成一个比特串,k是大于128的自然数,该比特串与r的二进制比特串相同”;
S13)Bob生成有效合同认可条款PAB:“如果Alice给出一个Bob对(C,M)的有效数字签名,并且M中的信息在区块链系统中得到验证,那么Bob认可合同C为有效合同;其中M中的信息在区块链系统中得到验证定义为任何实体都可以在区块链系统中找到高度为i,时间戳为t的区块,并且在第i+d个区块之后的f个区块中存在一个区块,该区块的哈希值按照大头顺序最后的log2k个比特形成一个比特串,k是大于128的自然数,该比特串与r的二进制比特串相同”;
所述的步骤S2)包括:
S21)Alice在区块链系统中读取最新区块的高度BHA;
S22)Bob在区块链系统中读取最新区块的高度BHB;
S23)Alice对PAA签名得到相应的数字签名,发送BHA、PAA及其数字签名给Bob,并设置超时定时器,时长为2△,其中△是区块链系统中新区块出现的平均时间,单位为秒,且△∈{1,...,600},如果定时器超时,Alice停止协议,否则Alice收到Bob的消息后,验证PAB的数字签名,如果数字签名无效,Alice停止协议,否则Alice等待区块链系统中高度为i=max(BHA,BHB)+1的新区块出现;
S24)Bob对PAB签名得到相应的数字签名,发送BHB、PAB及其数字签名给Alice,并设置超时定时器,时长为2△,如果定时器超时,Bob停止协议,否则Bob收到Alice的消息后,验证PAA的数字签名,如果数字签名无效,Bob停止协议,否则Bob等待区块链系统中高度为i=max(BHA,BHB)+1的新区块出现;
所述的步骤S3)包括:
S31)Alice和Bob分别读取区块链系统中区块i所包含的时间戳t,并分别读取各自本地计算机的时间t0A和t0B;
S32)Alice计算tdA=t0A-t,如果|tdA|>v,退出协议,其中v∈{1,...,7200}是一个用户可接受的时间误差,单位为秒,Bob同样计算tdB=t0B-t,如果|tdB|>v,退出协议;
S33)Alice选择随机数rA∈{1,...,k},k是大于128的自然数,发送rA给Bob,设置定时器,时长为T=d△/2(2b+3),其中b∈{0,...,10239}是Alice、Bob准备交换的关于(C,M)的数字签名的数量减1的值,Bob同样选择随机数rB∈{1,...,k},发送rB给Alice,设置定时器,时长为T;
S34)如果Alice的定时器超时,停止协议,否则Alice收到rB,计算r=(rA+rB)mod k,设置M=(r,i,t,d,f),之后Alice生成关于合同的数字签名SigA=SignA(C,M),并发送SigA给Bob,设置定时器,时长为T,同样的,如果Bob的定时器超时,Bob停止协议,否则Bob收到rA,计算r=(rA+rB)mod k,设置M=(r,i,t,d,f),之后Bob生成关于合同的数字签名SigB=SignB(C,M),并发送SigB给Alice,设置定时器,时长为T;
S35)如果Alice或Bob的定时器超时,Alice或Bob停止协议,否则Alice和Bob继续交换b个数字签名如下:
S35a)Alice设置计数器x,初值为1,Bob同样设置计数器y,初值为1;
S35b)Alice设置r0=r,计算rx=hash(rx-1),更新Mx=(rx,i,t,d,f),然后生成(C,Mx)的数字签名SigAx=SignA(C,Mx),并把SigAx发送给Bob,设置定时器,时长为T,同样的,Bob也生成SigBy=SignB(C,My),并把SigBy发送给Alice,设置定时器,时长为T,其中hash代表一个哈希算法,输入与输出的范围都是{1,...,k};
S35c)如果Alice或Bob的定时器超时,Alice或Bob终止协议,否则各自验证接收到的数字签名,如果验证失败,终止协议,否则各自的计数器x和y进行加1的自增运算,如果x或y自增之后大于b就执行步骤S36),否则返回步骤S35b)继续执行;
S36)Alice和Bob等待区块链中区块i+d的出现,在区块i+d之后出现的f个区块中,如果存在一个区块,该区块的哈希值按照大头顺序最后的log2k个比特形成一个比特串,该比特串与集合{r,r1,…,rb}中任意一个元素的二进制比特串相同,那么合同签署成功,协议终止;否则Alice和Bob需要从所述的步骤S2)重新开始执行协议,直至合同签署成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610926362.2A CN106504008B (zh) | 2016-10-24 | 2016-10-24 | 一种基于区块链的公平合同签署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610926362.2A CN106504008B (zh) | 2016-10-24 | 2016-10-24 | 一种基于区块链的公平合同签署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106504008A CN106504008A (zh) | 2017-03-15 |
CN106504008B true CN106504008B (zh) | 2017-12-29 |
Family
ID=58318615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610926362.2A Expired - Fee Related CN106504008B (zh) | 2016-10-24 | 2016-10-24 | 一种基于区块链的公平合同签署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106504008B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110603557B (zh) * | 2017-03-16 | 2024-04-12 | 香港物流及供应链管理应用技术研发中心 | 控制交易账本的系统和方法 |
CN107016611A (zh) * | 2017-03-29 | 2017-08-04 | 杭州秘猿科技有限公司 | 一种基于区块链的交易超时控制方法 |
CN107040383B (zh) * | 2017-04-24 | 2018-01-30 | 中山大学 | 一种基于区块链的盲可验证加密签名方法 |
CN107294727B (zh) * | 2017-05-22 | 2020-06-19 | 联动优势科技有限公司 | 一种电子投票方法、终端设备以及区块链网络 |
CN107403303B (zh) * | 2017-06-16 | 2020-10-30 | 兴业数字金融服务(上海)股份有限公司 | 一种基于区块链存证的电子合同系统的签署方法 |
CN107147501B (zh) * | 2017-06-27 | 2019-08-06 | 中国联合网络通信集团有限公司 | 时间戳处理方法及装置 |
CN109218348B (zh) * | 2017-06-29 | 2020-12-01 | 华为技术有限公司 | 一种区块链中区块的确定方法及节点设备 |
CN107993059A (zh) * | 2017-12-19 | 2018-05-04 | 北京航空航天大学 | 基于区块链的去中心化数字签名公平交换方法及系统 |
US10958436B2 (en) | 2017-12-28 | 2021-03-23 | Industrial Technology Research Institute | Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus |
CN109840767B (zh) * | 2018-01-09 | 2021-06-11 | 中国科学院计算技术研究所 | 基于区块链技术的多方公平合约存证方法和系统 |
CN108399544B (zh) * | 2018-02-11 | 2021-06-11 | 深圳市图灵奇点智能科技有限公司 | 基于物联网的辅助签订区块链合约的方法和装置 |
CN108614878B (zh) * | 2018-04-27 | 2023-01-10 | 腾讯科技(深圳)有限公司 | 协议数据管理方法、装置、存储介质及系统 |
CN108830545B (zh) * | 2018-04-28 | 2020-08-25 | 深圳慧通商务有限公司 | 合同数据处理方法、合同管理客户端和区块链管理装置 |
CN108600272B (zh) | 2018-05-10 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置、处理设备及系统 |
CN108833115B (zh) * | 2018-06-15 | 2021-01-26 | 中山大学 | 一种基于区块链的多方公平pdf合同签署方法 |
CN109345240B (zh) * | 2018-09-13 | 2022-03-04 | 海智(天津)大数据服务有限公司 | 一种基于区块链的电子营业执照应用系统和方法 |
US11736271B2 (en) * | 2018-09-21 | 2023-08-22 | Nec Corporation | Method for signing a new block in a decentralized blockchain consensus network |
CN109522739B (zh) * | 2018-10-09 | 2020-11-20 | 北京医拍智能科技有限公司 | 一种基于区块链哈希算法的抗攻击处理方法及装置 |
CN109409828A (zh) * | 2018-10-11 | 2019-03-01 | 绵阳网安科技有限公司 | 一种基于区块链技术的合同管理方法 |
CN110048995B (zh) * | 2018-12-05 | 2021-02-09 | 创新先进技术有限公司 | 多媒体协议的内容确认方法及装置、电子设备 |
CN109377232B (zh) * | 2018-12-20 | 2021-08-24 | 众安信息技术服务有限公司 | 基于dag的区块链的交易定序方法及设备 |
CN110046907A (zh) * | 2019-03-18 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 基于区块链的合同签署方法及装置、电子设备、存储介质 |
CN110113334B (zh) * | 2019-05-05 | 2021-09-10 | 江苏全链通信息科技有限公司 | 基于区块链的合同处理方法、设备及存储介质 |
CN110111108A (zh) * | 2019-05-15 | 2019-08-09 | 袁园 | 一种基于区块链技术的安全金融管理系统 |
CN110213059B (zh) * | 2019-06-20 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 一种随机数的生成方法、生成装置及存储介质 |
CN110598471A (zh) * | 2019-09-17 | 2019-12-20 | 深圳市网心科技有限公司 | 基于区块链的时间戳生成方法、装置、系统及存储介质 |
CN111445209A (zh) * | 2020-03-27 | 2020-07-24 | 北京瑞卓喜投科技发展有限公司 | 一种基于区块链的电子合同签署方法、装置和存储介质 |
CN113378196B (zh) * | 2021-06-21 | 2022-04-15 | 中山大学 | 基于区块链的多方合同签署方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809062A (zh) * | 2016-03-01 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种合约构建、执行方法及装置 |
CN106022775A (zh) * | 2016-05-13 | 2016-10-12 | 邓迪 | 基于区块链的文件签名方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
-
2016
- 2016-10-24 CN CN201610926362.2A patent/CN106504008B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809062A (zh) * | 2016-03-01 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种合约构建、执行方法及装置 |
CN106022775A (zh) * | 2016-05-13 | 2016-10-12 | 邓迪 | 基于区块链的文件签名方法及系统 |
Non-Patent Citations (1)
Title |
---|
Optimistic fair exchange of digital signatures;N. Asokan; V. Shoup; M. Waidner;《IEEE Journal on Selected Areas in Communications》;20000430;第18卷(第4期);593页-610页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106504008A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106504008B (zh) | 一种基于区块链的公平合同签署方法 | |
CN109325331B (zh) | 基于区块链和可信计算平台的大数据采集交易系统 | |
WO2022042301A1 (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
US9124433B2 (en) | Remote authentication and transaction signatures | |
EP2158717B1 (en) | Remote authentication and transaction signatures | |
CN109409122A (zh) | 文件存储方法及其电子设备、存储介质 | |
CN109639651A (zh) | 基于活体认证和区块链技术的合同在线签订认证方法及其系统 | |
CN102779284B (zh) | 一种集商品防伪、物流管控等综合功能于一体的rfid标签 | |
CN109586919A (zh) | 一种在线合同自动签署方法 | |
CN109889497A (zh) | 一种去信任的数据完整性验证方法 | |
CN109753817A (zh) | 基于区块链的医疗信息安全存储方案 | |
WO2012142354A1 (en) | Remote authentication and transaction signatures | |
CN109245899B (zh) | 一种基于sm9密码算法信任链设计方法 | |
CN101674181A (zh) | 采用生物特征令牌的用户认证系统 | |
CN114168915A (zh) | 一种区块链数字身份的生成及验证方法 | |
BR102019005184A2 (pt) | Método e sistema para provisionar um terminal seguro | |
CN110677259A (zh) | 一种电子合同全链路实时公证系统及方法 | |
CN108496194A (zh) | 一种验证终端合法性的方法、服务端及系统 | |
CN106533681B (zh) | 一种支持部分出示的属性证明方法与系统 | |
US11516014B2 (en) | Methods, systems, and apparatuses for cryptographic wireless detection and authentication of fluids | |
CN101777984A (zh) | 一种安全交易的方法和系统 | |
CN113724078A (zh) | 一种基于zk-snark的区块链积分用户鉴权认证方法 | |
US11968526B2 (en) | Identity management on a mobile device | |
CN108234504A (zh) | 一种云存储中基于身份的代理数据完整性检测方法 | |
TWI482480B (zh) | 數位證書自動更新系統及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190417 Address after: 518000 Room 3702, Block A, 11 Shenzhen Bay Science and Technology Eco-Park, Yuehai Street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen Shufeng Technology Co., Ltd. Address before: 510275 No. 135 West Xingang Road, Guangdong, Guangzhou Patentee before: Sun Yat-sen University |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171229 Termination date: 20201024 |