亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于區(qū)塊鏈的公平合同簽署方法與流程

文檔序號(hào):12127016閱讀:373來源:國知局
一種基于區(qū)塊鏈的公平合同簽署方法與流程

本發(fā)明涉及信息安全領(lǐng)域,特別是涉及一種基于區(qū)塊鏈的公平合同簽署方法。



背景技術(shù):

區(qū)塊鏈(blockchain)最早是由比特幣的創(chuàng)始人中本聰(Satoshi)提出的,它的本質(zhì)是一個(gè)通過去中心化的方式維持的一個(gè)可靠的數(shù)據(jù)庫。區(qū)塊鏈?zhǔn)且淮褂妹艽a學(xué)方法產(chǎn)生的數(shù)據(jù)塊,保證了添加到區(qū)塊鏈的數(shù)據(jù)被永的存儲(chǔ),一旦存儲(chǔ)便不容易被篡改,而且數(shù)據(jù)對(duì)所有人都公開,所有信息高度透明,交易記錄也可追蹤。它給我們提供了一個(gè)全球可信的記事簿和全球時(shí)鐘,時(shí)鐘在新區(qū)塊出現(xiàn)時(shí)更新,并且每個(gè)區(qū)塊也可被區(qū)塊的頭部哈希值唯一標(biāo)識(shí)。

傳統(tǒng)的合同簽署需要當(dāng)事人坐在一起,通過面談的形式制定合同并達(dá)成一致,然后把合同記錄在紙張上,雙方在紙上簽字,這需要耗費(fèi)大量的時(shí)間、精力和金錢。隨著互聯(lián)網(wǎng)的發(fā)展和電子簽名法的落地,人們開始通過互聯(lián)網(wǎng)完成合同簽署。通常這意味著合同簽署的雙方有一個(gè)共同可信任的協(xié)助簽署合同的第三方機(jī)構(gòu),該機(jī)構(gòu)負(fù)責(zé)對(duì)合同簽署中出現(xiàn)的不公平問題進(jìn)行處理。早期也確實(shí)存在一些不需要第三方的公平合同簽署方法,然而這些方法對(duì)于單方停止的問題無法處理,達(dá)不到人們期望的公平性。早期比較特殊的一個(gè)方法是Rabin基于簽名信標(biāo)的公平合同簽署方法,但是這個(gè)方法需要一個(gè)可信第三方來提供簽名信標(biāo)幀服務(wù)。

區(qū)塊鏈系統(tǒng)為公平的合同簽署協(xié)議提供了新的選擇。Wan提出把區(qū)塊鏈作為可信第三方,由區(qū)塊鏈完成對(duì)合同的驗(yàn)證,并為雙方的合同進(jìn)行背書。Kiayias提出基于全球交易賬本的多方計(jì)算協(xié)議,通過在區(qū)塊鏈系統(tǒng)增設(shè)一個(gè)驗(yàn)證方來監(jiān)督協(xié)議的執(zhí)行,保證計(jì)算的公平性。公平合同簽署作為多方計(jì)算協(xié)議的一個(gè)特殊類別,也可以在Kiayias的框架下實(shí)現(xiàn)。這些技術(shù)的問題在于需要對(duì)區(qū)塊鏈進(jìn)行擴(kuò)展,而事實(shí)上對(duì)區(qū)塊鏈擴(kuò)展并不容易,因而在實(shí)用上受到限制。

本發(fā)明基于現(xiàn)有的區(qū)塊鏈系統(tǒng),采用類似Rabin簽名信標(biāo)的方法,把區(qū)塊的頭部哈希值的一部分作為隨機(jī)值,用一個(gè)區(qū)塊的的高度和塊內(nèi)的時(shí)間戳作為計(jì)時(shí)器,只需要一個(gè)滿足條件的區(qū)塊出現(xiàn)有效合同就生成。本發(fā)明實(shí)現(xiàn)了在區(qū)塊鏈上公平地簽署合同的目的,克服了傳統(tǒng)技術(shù)中需要尋找雙方都可信的合同簽署第三方的問題,方便了電子合同的簽署,克服了部分傳統(tǒng)方案中公平性得不到保證的問題,具有較好的公平性,克服了一些方案中需要修改區(qū)塊鏈系統(tǒng)的問題,方便部署實(shí)施。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于在區(qū)塊鏈上公平地簽署合同,提供一種基于區(qū)塊鏈的公平合同簽署方法。

為實(shí)現(xiàn)上述目的,本發(fā)明給出如下方法:

1.該方法涉及Alice和Bob兩個(gè)用戶實(shí)以及一個(gè)區(qū)塊鏈系統(tǒng),包括以下步驟:

1).Alice和Bob分別生成各自的有效合同認(rèn)可條款PAA和PAB;

2).Alice和Bob交換各自的有效合同認(rèn)可條款PAA和PAB、各自對(duì)有效合同認(rèn)可條款的簽名以及各自從區(qū)塊鏈系統(tǒng)讀取的區(qū)塊高度BHA和BHB;

3).Alice和Bob交換各自生成的隨機(jī)數(shù)和數(shù)字簽名,并根據(jù)區(qū)塊鏈系統(tǒng)和對(duì)方的有效合同認(rèn)可條款驗(yàn)證是否生成了有效的合同,如果合同無效則從步驟2)重新開始執(zhí)行,如果合同有效則完成合同簽署;

2.上述步驟1)中Alice和Bob分別生成各自的有效合同認(rèn)可條款PAA和PAB具體如下:

11)Alice和Bob協(xié)商好待簽署的合同C,延遲參數(shù)d和有效區(qū)塊參數(shù)f,并且約定符號(hào)r表示某個(gè)隨機(jī)數(shù),i表示區(qū)塊鏈系統(tǒng)中某個(gè)區(qū)塊的高度,t表示區(qū)塊i所包含的時(shí)間戳,定義M=(r,i,t,d,f);

12)Alice生成有效合同認(rèn)可條款PAA:“如果Bob給出一個(gè)Alice對(duì)(C,M)的有效數(shù)字簽名,并且M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證,那么Alice認(rèn)可合同C為有效合同;其中M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證定義為任何實(shí)體都可以在區(qū)塊鏈系統(tǒng)中找到高度為i,時(shí)間戳為t的區(qū)塊,并且在第i+d個(gè)區(qū)塊之后的f個(gè)區(qū)塊中存在一個(gè)區(qū)塊,該區(qū)塊的哈希值按照大頭順序最后的log2k個(gè)比特形成一個(gè)比特串,該比特串與r的二進(jìn)制比特串相同”;

13)Bob生成有效合同認(rèn)可條款PAB:“如果Alice給出一個(gè)Bob對(duì)(C,M)的有效數(shù)字簽名,并且M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證,那么Bob認(rèn)可合同C為有效合同;其中M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證定義為任何實(shí)體都可以在區(qū)塊鏈系統(tǒng)中找到高度為i,時(shí)間戳為t的區(qū)塊,并且在第i+d個(gè)區(qū)塊之后的f個(gè)區(qū)塊中存在一個(gè)區(qū)塊,該區(qū)塊的哈希值按照大頭順序最后的log2k個(gè)比特形成一個(gè)比特串,該比特串與r的二進(jìn)制比特串相同”。

3.上述步驟2)中Alice和Bob交換各自的有效合同認(rèn)可條款PAA和PAB、各自對(duì)有效合同認(rèn)可條款的簽名以及各自從區(qū)塊鏈系統(tǒng)讀取的區(qū)塊高度BHA和BHB具體如下:

21)Alice在區(qū)塊鏈系統(tǒng)中讀取最新區(qū)塊的高度BHA

22)Bob在區(qū)塊鏈系統(tǒng)中讀取最新區(qū)塊的高度BHB;

23)Alice對(duì)PAA簽名得到相應(yīng)的數(shù)字簽名,發(fā)送BHA、PAA及其數(shù)字簽名給Bob,并設(shè)置超時(shí)定時(shí)器,時(shí)長為2△,其中△是區(qū)塊鏈系統(tǒng)中新區(qū)塊出現(xiàn)的平均時(shí)間,單位為秒,且△∈{1,...,600},如果定時(shí)器超時(shí),Alice停止協(xié)議,否則Alice收到Bob的消息后,驗(yàn)證PAB的數(shù)字簽名,如果數(shù)字簽名無效,Alice停止協(xié)議,否則Alice等待區(qū)塊鏈系統(tǒng)中高度為i=max(BHA,BHB)+1的新區(qū)塊出現(xiàn);

24)Bob對(duì)PAB簽名得到相應(yīng)的數(shù)字簽名,發(fā)送BHB、PAB及其數(shù)字簽名給Alice,并設(shè)置超時(shí)定時(shí)器,時(shí)長為2△,如果定時(shí)器超時(shí),Bob停止協(xié)議,否則Bob收到Alice的消息后,驗(yàn)證PAA的數(shù)字簽名,如果數(shù)字簽名無效,Bob停止協(xié)議,否則Bob等待區(qū)塊鏈系統(tǒng)中高度為i的新區(qū)塊出現(xiàn);

4.上述步驟3)中Alice和Bob交換各自生成的隨機(jī)數(shù)和數(shù)字簽名,并根據(jù)區(qū)塊鏈系統(tǒng)和對(duì)方的有效合同認(rèn)可條款驗(yàn)證是否生成了有效的合同,如果合同無效則從步驟2)重新開始執(zhí)行,如果合同有效則完成合同簽署,具體如下:

31)Alice和Bob分別讀取區(qū)塊鏈系統(tǒng)中區(qū)塊i所包含的時(shí)間戳t,并分別讀取各自本地計(jì)算機(jī)的時(shí)間t0A和t0B;

32)Alice計(jì)算tdA=t0A-t,如果|tdA|>v,退出協(xié)議,其中v∈{1,...,7200}是一個(gè)用戶可接受的時(shí)間誤差,單位為秒,Bob同樣計(jì)算tdB=t0B-t,如果|tdB|>v,退出協(xié)議;

33)Alice選擇隨機(jī)數(shù)rA∈{1,...,k},k是大于128的自然數(shù),發(fā)送rA給Bob,設(shè)置定時(shí)器,時(shí)長為T=d△/2(2b+3),其中b∈{0,...,10239}是Alice、Bob準(zhǔn)備交換的關(guān)于(C,M)的數(shù)字簽名的數(shù)量減1的值,Bob同樣選擇隨機(jī)數(shù)rB∈{1,...,k},發(fā)送rB給Alice,設(shè)置定時(shí)器,時(shí)長為T。

34)如果Alice的定時(shí)器超時(shí),停止協(xié)議,否則Alice收到rB,計(jì)算r=(rA+rB)mod k,設(shè)置M=(r,i,t,d,f),之后Alice生成關(guān)于合同的數(shù)字簽名SigA=SignA(C,M),并發(fā)送SigA給Bob,設(shè)置定時(shí)器,時(shí)長為T,同樣的,如果Bob的定時(shí)器超時(shí),Bob停止協(xié)議,否則Bob收到rA,計(jì)算r=(rA+rB)mod k,設(shè)置M=(r,i,t,d,f),之后Bob生成關(guān)于合同的數(shù)字簽名SigB=SignB(C,M),并發(fā)送SigB給Alice,設(shè)置定時(shí)器,時(shí)長為T;

35)如果Alice或Bob的定時(shí)器超時(shí),Alice或Bob停止協(xié)議,否則Alice和Bob繼續(xù)交換b個(gè)數(shù)字簽名如下:①Alice設(shè)置計(jì)數(shù)器x初值為1,Bob同樣設(shè)置計(jì)數(shù)器y初值為1②Alice設(shè)置r0=r,計(jì)算rx=hash(rx-1),更新Mx=(rx,i,t,d,f),然后生成(C,Mx)的數(shù)字簽名SigAx=SignA(C,Mx),并把SigAx發(fā)送給Bob,設(shè)置定時(shí)器,時(shí)長為T,同樣的,Bob也生成SigBy=SignB(C,My),并把SigBy發(fā)送給Alice,設(shè)置定時(shí)器,時(shí)長為T,其中hash代表一個(gè)哈希算法,輸入與輸出的范圍都是{1,...,k};③如果Alice或Bob的定時(shí)器超時(shí),Alice或Bob終止協(xié)議,否則各自驗(yàn)證接收到的數(shù)字簽名,如果驗(yàn)證失敗,終止協(xié)議,否則各自的計(jì)數(shù)器x和y進(jìn)行加1的自增運(yùn)算,如果x或y自增之后大于b就執(zhí)行步驟36),否則返回步驟②繼續(xù)執(zhí)行。

36)Alice和Bob等待區(qū)塊鏈中區(qū)塊i+d的出現(xiàn),在區(qū)塊i+d之后出現(xiàn)的f個(gè)區(qū)塊中,如果存在一個(gè)區(qū)塊,該區(qū)塊的哈希值按照大頭順序最后的log2k個(gè)比特形成一個(gè)比特串,該比特串與集合{r,r1,…,rb}中任意一個(gè)元素的二進(jìn)制比特串相同,那么合同簽署成功,協(xié)議終止;否則Alice和Bob需要重新從步驟2)開始執(zhí)行協(xié)議,直至合同簽署成功。

本發(fā)明具有以下優(yōu)點(diǎn):

首先,不需要可信第三方,簽署合同的用戶實(shí)體只需要依賴人人都可以公開驗(yàn)證的區(qū)塊鏈系統(tǒng),就可以公平的完成合同的簽署。其次,不需要對(duì)區(qū)塊鏈系統(tǒng)進(jìn)行任何的升級(jí)改造,只是被動(dòng)的使用區(qū)塊鏈系統(tǒng)的信息,就可以達(dá)到協(xié)議的目的,方便了協(xié)議的部署。最后,本發(fā)明對(duì)于多種數(shù)字貨幣所產(chǎn)生的區(qū)塊鏈都是適用的,只需要調(diào)整M中的參數(shù),就可以基于不同數(shù)字貨幣達(dá)到公平的簽署合同的目的??傊景l(fā)明提供了一種可方便實(shí)施的基于區(qū)塊鏈的公平合同簽署方法。

本發(fā)明所提供的基于區(qū)塊鏈的公平合同簽署方法,可以用于電子商務(wù)環(huán)境中需要通過網(wǎng)絡(luò)簽署合同的場(chǎng)景。

附圖說明

圖1為區(qū)塊鏈系統(tǒng)結(jié)構(gòu)圖

圖2為單個(gè)用戶實(shí)體的合同簽署過程

具體實(shí)施方式

假設(shè)兩個(gè)用戶實(shí)體張三和李四,把比特幣的區(qū)塊鏈作為合同簽署中所使用的區(qū)塊鏈系統(tǒng)。首先,我們假設(shè)張三和李四有有效的數(shù)字證書并且交換并驗(yàn)證了各自的數(shù)字證書,確認(rèn)了彼此數(shù)字證書的有效性,即數(shù)字證書由某個(gè)可信的證書權(quán)威發(fā)布,并且尚未被吊銷,在有效期內(nèi)。注意這里的可信第三方并不是簽署合同所需的可信第三方,僅僅是完成了數(shù)字證書頒發(fā)的數(shù)字證書權(quán)威。這樣的機(jī)構(gòu)在全國范圍內(nèi)有很多,例如廣東省的電子商務(wù)認(rèn)證中心就是一個(gè)證書權(quán)威,它僅證明某個(gè)身份和某個(gè)公鑰是可以對(duì)應(yīng)起來的。

區(qū)塊鏈系統(tǒng)如圖1所示,通過在每一個(gè)區(qū)塊頭部包含前一個(gè)區(qū)塊的哈希值形成一個(gè)鏈狀結(jié)構(gòu),在每一個(gè)區(qū)塊的頭部還包含時(shí)間戳信息。區(qū)塊鏈的高度就是這個(gè)鏈壯結(jié)構(gòu)所包含的除創(chuàng)世塊之外的區(qū)塊個(gè)數(shù)。

現(xiàn)在張三李四都有彼此的數(shù)字證書,開始執(zhí)行公平的合同簽署方法,圖2給出了從單個(gè)用戶實(shí)體的角度合同簽署的主要步驟。

實(shí)施例1

1.張三和李四分別生成各自的有效合同認(rèn)可條款PAA和PAB

1)張三和李四首先協(xié)商合同的條款,就合同每一項(xiàng)條款達(dá)成一致,雙方一致同意的合同條款我們成為合同C。張三和李四協(xié)商確認(rèn)延遲參數(shù)d=10和有效區(qū)塊參數(shù)f=2,并且約定符號(hào)r表示某個(gè)隨機(jī)數(shù),i表示區(qū)塊鏈系統(tǒng)中某個(gè)區(qū)塊的高度,t表示區(qū)塊i所包含的時(shí)間戳,定義M=(r,i,t,10,2);

2)張三生成有效合同認(rèn)可條款PAA:“如果李四給出一個(gè)張三對(duì)(C,M)的有效數(shù)字簽名,并且M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證,那么張三認(rèn)可合同C為有效合同;其中M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證定義為任何實(shí)體都可以在區(qū)塊鏈系統(tǒng)中找到高度為i,時(shí)間戳為t的區(qū)塊,并且在第i+10個(gè)區(qū)塊之后的2個(gè)區(qū)塊中存在一個(gè)區(qū)塊,該區(qū)塊的哈希值按照大頭順序最后的10個(gè)比特形成一個(gè)比特串,該比特串與r的二進(jìn)制比特串相同”;

3)李四生成有效合同認(rèn)可條款PAB:“如果張三給出一個(gè)李四對(duì)(C,M)的有效數(shù)字簽名,并且M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證,那么李四認(rèn)可合同C為有效合同;其中M中的信息在區(qū)塊鏈系統(tǒng)中得到驗(yàn)證定義為任何實(shí)體都可以在區(qū)塊鏈系統(tǒng)中找到高度為i,時(shí)間戳為t的區(qū)塊,并且在第i+10個(gè)區(qū)塊之后的2個(gè)區(qū)塊中存在一個(gè)區(qū)塊,該區(qū)塊的哈希值按照大頭順序最后的10個(gè)比特形成一個(gè)比特串,該比特串與r的二進(jìn)制比特串相同”。

2.張三和李四交換各自的有效合同認(rèn)可條款PAA和PAB、各自對(duì)有效合同認(rèn)可條款的簽名以及各自從區(qū)塊鏈系統(tǒng)讀取的區(qū)塊高度BHA和BHB

1)張三在區(qū)塊鏈系統(tǒng)中讀取最新區(qū)塊的高度BHA,例如BHA=435552;

2)李四在區(qū)塊鏈系統(tǒng)中讀取最新區(qū)塊的高度BHB,例如BHB=435553;這里張三和李四讀取的同一個(gè)區(qū)塊鏈系統(tǒng),但是因?yàn)樽x取的時(shí)間不同,各自讀取的區(qū)塊高度不一定相同,在本實(shí)施例中,李四讀取的時(shí)間顯然比張三晚一些。

3)張三與李四建立一個(gè)TCP連接,以發(fā)送和接收消息。之后張三對(duì)PAA簽名得到相應(yīng)的數(shù)字簽名,即把PAA作為消息,使用張三的數(shù)字證書中的簽名算法,比如是RSA簽名算法,使用張三自身的私鑰,生成一個(gè)數(shù)字簽名。之后張三把BHA=435552、PAA的具體內(nèi)容及其數(shù)字簽名發(fā)送給李四,并設(shè)置超時(shí)定時(shí)器,時(shí)長為2△=1200秒,即10分鐘。如果定時(shí)器超時(shí),張三停止協(xié)議,否則張三收到李四的消息后,使用李四的數(shù)字證書中的公鑰和數(shù)字簽名驗(yàn)證算法驗(yàn)證PAB的數(shù)字簽名,如果李四的數(shù)字簽名無效,張三停止協(xié)議,否則張三等待區(qū)塊鏈系統(tǒng)中高度為i=max(435552,435553)+1,即435554的新區(qū)塊出現(xiàn),其中max是計(jì)算兩個(gè)數(shù)中較大的數(shù)的一個(gè)通用函數(shù)。

4)同樣的,李四在讀取到BHB之后,與張三建立好TCP連接,李四類似的對(duì)PAB簽名得到相應(yīng)的數(shù)字簽名,并發(fā)送BHB、PAB及其數(shù)字簽名給張三,并設(shè)置超時(shí)定時(shí)器,時(shí)長為10分鐘。如果定時(shí)器超時(shí),李四停止協(xié)議。否則李四收到張三的消息后,驗(yàn)證PAA的數(shù)字簽名,如果數(shù)字簽名無效,李四停止協(xié)議,否則李四等待區(qū)塊鏈系統(tǒng)中高度為435554的新區(qū)塊出現(xiàn);

4.張三和李四交換各自生成的隨機(jī)數(shù)和數(shù)字簽名,并根據(jù)區(qū)塊鏈系統(tǒng)和對(duì)方的有效合同認(rèn)可條款驗(yàn)證是否生成了有效的合同:

1)張三和李四分別讀取區(qū)塊鏈系統(tǒng)中區(qū)塊435554所包含的時(shí)間戳t=1477250401,并分別讀取各自本地計(jì)算機(jī)的時(shí)間t0A和t0B;

2)張三計(jì)算tdA=t0A-t,如果|tdA|>600秒,退出協(xié)議,李四同樣計(jì)算tdB=t0B-t,如果|tdB|>600秒,退出協(xié)議;

3)張三選擇隨機(jī)數(shù)rA∈{1,...,1024},例如rA=531,發(fā)送rA給李四,設(shè)置定時(shí)器,時(shí)長為T=10*600/2(2*511+3)≈3s,李四同樣選擇隨機(jī)數(shù)rB∈{1,...,1024},例如rB=697,發(fā)送rB給Alice,設(shè)置定時(shí)器,時(shí)長為3s。

4)如果張三的定時(shí)器超時(shí),停止協(xié)議,否則張三收到rB,計(jì)算r=(rA+rB)mod k,即r=(531+697)mod 1024=204,設(shè)置M=(204,435554,1477250401,10,2),之后張三生成關(guān)于合同的數(shù)字簽名SigA=SignA(C,M),即使用張三的數(shù)字證書中所指定的數(shù)字簽名算法,例如RSA算法,使用張三的私鑰,對(duì)電子合同C和串接在后面的M進(jìn)行計(jì)算,得到關(guān)于(C,M)的數(shù)字簽字,其中(C,M)是常用表達(dá),表示C的比特串表示和M的比特串表示串接起來。之后張三發(fā)送SigA給李四,設(shè)置定時(shí)器,時(shí)長為3s。同樣的,如果李四的定時(shí)器超時(shí),李四停止協(xié)議,否則李四收到rA=531,計(jì)算r=(rA+rB)mod k,即r=204,設(shè)置M=(204,435554,1477250401,10,2),之后李四生成關(guān)于合同的數(shù)字簽名SigB=SignB(C,M),并發(fā)送SigB給Alice,設(shè)置定時(shí)器,時(shí)長為3s;

5)如果張三或李四的定時(shí)器超時(shí),張三或李四停止協(xié)議,否則張三和李四繼續(xù)交換b=511個(gè)數(shù)字簽名如下:①張三設(shè)置計(jì)數(shù)器x,初值為1,李四同樣設(shè)置計(jì)數(shù)器y,初值為1②張三設(shè)置r0=204,計(jì)算rx=hash(rx-1),即x是1時(shí),計(jì)算r1=hash(r0),x是2時(shí),計(jì)算r2=hash(r1),以此類推,并且每次計(jì)算的r,r1,…r511需要存儲(chǔ)到一個(gè)數(shù)組中,hash可以直接采用SHA256算法,但是只取最后的10個(gè)比特作為輸出。張三使用此次計(jì)算的rx更新Mx=(rx,435554,1477250401,10,2),然后生成(C,Mx)的數(shù)字簽名SigAx=SignA(C,Mx),該數(shù)字簽名的計(jì)算過程與計(jì)算SigA的過程類似。張三之后把SigAx發(fā)送給李四,設(shè)置定時(shí)器,時(shí)長為3s,同樣的,李四也生成SigBy=SignB(C,My),并把SigBy發(fā)送給張三,設(shè)置定時(shí)器,時(shí)長為3s;③如果張三或李四的定時(shí)器超時(shí),張三或李四終止協(xié)議,否則各自驗(yàn)證接收到的數(shù)字簽名,如果驗(yàn)證失敗,終止協(xié)議,否則各自的計(jì)數(shù)器x和y進(jìn)行加1的自增運(yùn)算,例如x當(dāng)前值是1,自增之后就成為2,y類似。如果x或y自增之后大于511就執(zhí)行步驟6),否則返回步驟②繼續(xù)執(zhí)行。

6)張三和李四等待區(qū)塊鏈中區(qū)塊435564的出現(xiàn),在區(qū)塊435564之后出現(xiàn)的2個(gè)區(qū)塊中,即區(qū)塊435565和區(qū)塊435566,如果在這兩個(gè)區(qū)塊中存在一個(gè)區(qū)塊,該區(qū)塊的哈希值按照大頭順序最后的10個(gè)比特形成一個(gè)比特串,例如435565區(qū)塊的比特串是”1011000010”,435566區(qū)塊的比特串是”1010001010“。這兩個(gè)比特串中任意一個(gè)與集合{r,r1,…,r511}中任意一個(gè)元素的二進(jìn)制比特串相同,那么合同簽署成功,協(xié)議終止;否則張三和李四需要從步驟2重新開始執(zhí)行協(xié)議,直至合同簽署成功。

實(shí)施例2

實(shí)施例2與實(shí)施例1相同,除了在步驟2中,張三和李四首先交換交換各自的有效合同認(rèn)可條款PAA和PAB以及各自對(duì)有效合同認(rèn)可條款的簽名,然后他們交換各自從區(qū)塊鏈系統(tǒng)讀取的區(qū)塊高度BHA和BHB。并且在步驟4的第6)步中,合同簽署失敗時(shí),張三和李四執(zhí)行步驟2時(shí),不在重復(fù)交換PAA和PAB以及各自對(duì)有效合同認(rèn)可條款的簽名,而僅僅是交換各自從區(qū)塊鏈系統(tǒng)讀取的區(qū)塊高度BHA和BHB。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1