本發(fā)明涉及數(shù)字貨幣領(lǐng)域,尤其涉及一種基于數(shù)字貨幣的電子交易方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有的數(shù)字貨幣交易中,收款方將支付地址發(fā)給付款方,付款方根據(jù)支付地址將數(shù)字貨幣轉(zhuǎn)給收款方,由于付款方?jīng)]有足夠的信息驗(yàn)證收款方的身份,收款方的身份很有可能被中間人劫持和偽造,數(shù)字貨幣很有可能被盜?。辉谑湛罘胶透犊罘竭M(jìn)行信息傳遞過(guò)程中通常只是簡(jiǎn)單的支付地址,傳輸過(guò)程中所述傳輸?shù)男畔⒍际敲魑模菀讓?dǎo)致在傳輸過(guò)程中信息外泄;收款方與付款方進(jìn)行的交易中沒(méi)有支付證明,產(chǎn)生糾紛時(shí)無(wú)法追究;基于數(shù)字貨幣的特性,付款方須將交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò),交易信息在數(shù)字貨幣網(wǎng)絡(luò)中經(jīng)過(guò)多次確認(rèn)之后,收款方才能確認(rèn)完成交易或確認(rèn)交易失敗,在數(shù)字貨幣網(wǎng)絡(luò)對(duì)交易信息的確認(rèn)過(guò)程中,用戶(hù)需要等待很長(zhǎng)時(shí)間,導(dǎo)致基于數(shù)字貨幣的電子交易的效率低、用戶(hù)體驗(yàn)差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為解決上述現(xiàn)有技術(shù)中存在的技術(shù)問(wèn)題提供一種基于數(shù)字貨幣的電子交易方法及系統(tǒng)。
本發(fā)明提供的一種基于數(shù)字貨幣的電子交易方法,包括以下步驟:
步驟S1:數(shù)字貨幣錢(qián)包接收來(lái)自電商服務(wù)器的支付請(qǐng)求包,所述支付請(qǐng)求包中包括支付請(qǐng)求信息和所述電商服務(wù)器使用自身保存的私鑰對(duì)所述支付請(qǐng)求信息的簽名信息,所述支付請(qǐng)求信息中包括電商證書(shū)、交易金額和電商公鑰地址;
步驟S2:所述數(shù)字貨幣錢(qián)包從所述支付請(qǐng)求包的所述支付請(qǐng)求信息中獲取所述電商證書(shū)和所述簽名信息,使用所述電商證書(shū)對(duì)所述簽名信息進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則執(zhí)行步驟S3,驗(yàn)證未通過(guò)則拒絕交易;
步驟S3:所述數(shù)字貨幣錢(qián)包獲取具有與所述交易金額等額貨幣值的交易數(shù)據(jù)、與所述交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)以及與所述交易數(shù)據(jù)對(duì)應(yīng)的自身保存的數(shù)字貨幣私鑰,并從所述支付請(qǐng)求包的所述支付請(qǐng)求信息中獲取所述電商公鑰地址,使用所述數(shù)字貨幣私鑰對(duì)所述交易數(shù)據(jù)和所述電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果;根據(jù)所述簽名結(jié)果、所述交易標(biāo)識(shí)和與所述數(shù)字貨幣私鑰對(duì)應(yīng)的數(shù)字貨幣公鑰組織交易信息,并根據(jù)所述交易信息組織支付包;
步驟S4:所述數(shù)字貨幣錢(qián)包將所述交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò),并將所述支付包發(fā)送給所述電商服務(wù)器;
步驟S5:所述電商服務(wù)器接收來(lái)自所述數(shù)字貨幣錢(qián)包的所述支付包,使用所述支付包中的所述數(shù)字貨幣公鑰對(duì)所述簽名結(jié)果進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則執(zhí)行步驟S6;驗(yàn)證未通過(guò)則結(jié)束交易;
步驟S6:所述電商服務(wù)器從所述支付包中獲取所述交易標(biāo)識(shí),根據(jù)所述交易標(biāo)識(shí)從所述數(shù)字貨幣網(wǎng)絡(luò)中找到所述交易信息,判斷在預(yù)設(shè)時(shí)間內(nèi)是否從所述數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的對(duì)所述交易信息的驗(yàn)證通過(guò)信息,是則完成交易,否則結(jié)束交易。
本發(fā)明提供的一種基于數(shù)字貨幣的電子交易的系統(tǒng),包括數(shù)字貨幣錢(qián)包和電商服務(wù)器;
所述數(shù)字貨幣錢(qián)包包括:
保存模塊,用于保存數(shù)字貨幣私鑰;
第一接收模塊,用于接收來(lái)自所述電商服務(wù)器的支付請(qǐng)求包,所述支付請(qǐng)求包中包括支付請(qǐng)求信息和所述電商服務(wù)器使用自身保存的私鑰對(duì)所述支付請(qǐng)求信息的簽名信息,所述支付請(qǐng)求信息中包括電商證書(shū)、交易金額和電商公鑰地址;
第一獲取模塊,用于從所述第一接收模塊接收的所述支付請(qǐng)求包的所述支付請(qǐng)求信息中獲取所述電商證書(shū)和所述簽名信息;
第一驗(yàn)證模塊,用于使用所述第一獲取模塊獲取的所述電商證書(shū)對(duì)所述第一獲取模塊獲取的所述簽名信息進(jìn)行驗(yàn)證;
交易拒絕模塊,用于當(dāng)所述第一驗(yàn)證模塊對(duì)所述簽名信息驗(yàn)證未通過(guò)時(shí),拒絕交易;
第二獲取模塊,用于當(dāng)所述第一驗(yàn)證模塊對(duì)所述簽名信息驗(yàn)證通過(guò)時(shí),獲取具有與所述第一接收模塊接收的所述支付請(qǐng)求包中的所述交易金額等額貨幣值的交易數(shù)據(jù)、與所述交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)以及與所述交易數(shù)據(jù)對(duì)應(yīng)的所述保存模塊保存的所述數(shù)字貨幣私鑰;
第三獲取模塊,用于當(dāng)所述第一驗(yàn)證模塊對(duì)所述簽名信息驗(yàn)證通過(guò)時(shí),從所述第一接收模塊接收的所述支付請(qǐng)求包的所述支付請(qǐng)求信息中獲取所述電商公鑰地址;
第一簽名模塊,用于使用所述第二獲取模塊獲取的所述數(shù)字貨幣私鑰對(duì)所述第二獲取模塊獲取的所述交易數(shù)據(jù)和所述第三獲取模塊獲取的所述電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果;
第一組織模塊,用于根據(jù)所述第一簽名模塊得到的所述簽名結(jié)果、所述第二獲取模塊獲取的所述交易標(biāo)識(shí)和與所述第二獲取模塊獲取的所述數(shù)字貨幣私鑰對(duì)應(yīng)的數(shù)字貨幣公鑰組織交易信息;
第二組織模塊,用于根據(jù)所述第一組織模塊組織的所述交易信息組織支付包;
廣播模塊,用于將所述第一組織模塊組織的所述交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò);
第一發(fā)送模塊,用于將所述第二組織模塊組織的所述支付包發(fā)送給所述電商服務(wù)器;
所述電商服務(wù)器包括:
第二接收模塊,用于接收來(lái)自所述數(shù)字貨幣錢(qián)包的所述支付包;
第二驗(yàn)證模塊,用于使用所述第二接收模塊接收的所述支付包中的所述數(shù)字貨幣公鑰對(duì)所述第二接收模塊接收的所述支付包中的所述簽名結(jié)果進(jìn)行驗(yàn)證;
第四獲取模塊,用于當(dāng)所述第二驗(yàn)證模塊的驗(yàn)證結(jié)果為驗(yàn)證通過(guò)時(shí),從所述第二接收模塊接收的所述支付包中獲取所述交易標(biāo)識(shí),根據(jù)所述交易標(biāo)識(shí)從所述數(shù)字貨幣網(wǎng)絡(luò)中找到所述交易信息;
判斷模塊,用于判斷在預(yù)設(shè)時(shí)間內(nèi)是否從所述數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的對(duì)所述第四獲取模塊找到的所述交易信息的驗(yàn)證通過(guò)信息;
完成交易模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為是時(shí),完成交易;
交易結(jié)束模塊,用于當(dāng)所述第二驗(yàn)證模塊的驗(yàn)證結(jié)果為驗(yàn)證未通過(guò)時(shí),結(jié)束交易;用于當(dāng)所述判斷模塊判斷結(jié)果為否時(shí),結(jié)束交易。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:數(shù)字貨幣錢(qián)包從支付請(qǐng)求信息中獲取電商證書(shū),使用電商證書(shū)對(duì)支付請(qǐng)包中的簽名信息進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)時(shí)才組織交易信息,驗(yàn)證未通過(guò)則拒絕交易,從而提供了安全的支付證明,可以防止支付請(qǐng)求信息中的電商公鑰地址在傳給付款方時(shí)被惡意的中間人篡改,保證電商公鑰地址不被中間人劫持和偽造,同時(shí)當(dāng)交易雙方產(chǎn)生糾紛時(shí),簽名信息可以當(dāng)做支付證明防止對(duì)方耍賴(lài);電商服務(wù)器接收到支付包時(shí),對(duì)支付包中的簽名結(jié)果進(jìn)行驗(yàn)證,電商服務(wù)器根據(jù)驗(yàn)證結(jié)果就知道交易結(jié)果為成功或失敗,不用等待預(yù)設(shè)時(shí)間后根據(jù)從數(shù)字貨幣網(wǎng)絡(luò)中查找到的對(duì)交易信息的驗(yàn)證通過(guò)信息的次數(shù)確認(rèn)交易是成功還是失敗,從而有效提高了數(shù)字貨幣電子交易的效率。
附圖說(shuō)明
圖1所示為本發(fā)明實(shí)施例1中一種基于數(shù)字貨幣的電子交易方法流程圖;
圖2所述為本發(fā)明實(shí)施例2中一種基于數(shù)字貨幣的電子交易方法流程圖;
圖3所示為本發(fā)明實(shí)施例3中一種基于數(shù)字貨幣的電子交易的系統(tǒng)模塊組成框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
實(shí)施例1
本發(fā)明提供一種基于數(shù)字貨幣的電子交易方法,如圖1所示,該方法具體包括:
步驟S1:數(shù)字貨幣錢(qián)包接收來(lái)自電商服務(wù)器的支付請(qǐng)求包,支付請(qǐng)求包中包括支付請(qǐng)求信息和電商服務(wù)器使用自身保存的私鑰對(duì)支付請(qǐng)求信息的簽名信息,支付請(qǐng)求信息中包括電商證書(shū)、交易金額和電商公鑰地址;
步驟S2:數(shù)字貨幣錢(qián)包從支付請(qǐng)求包的支付請(qǐng)求信息中獲取電商證書(shū)和簽名信息,使用電商證書(shū)對(duì)簽名信息進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則執(zhí)行步驟S3,驗(yàn)證未通過(guò)則拒絕交易;
步驟S3:數(shù)字貨幣錢(qián)包獲取具有與交易金額等額貨幣值的交易數(shù)據(jù)、與交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)以及與交易數(shù)據(jù)對(duì)應(yīng)的自身保存的數(shù)字貨幣私鑰,并從支付請(qǐng)求包的支付請(qǐng)求信息中獲取電商公鑰地址,使用數(shù)字貨幣私鑰對(duì)交易數(shù)據(jù)和電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果;根據(jù)簽名結(jié)果、交易標(biāo)識(shí)和與數(shù)字貨幣私鑰對(duì)應(yīng)的數(shù)字貨幣公鑰組織交易信息,并根據(jù)交易信息組織支付包;
步驟S4:數(shù)字貨幣錢(qián)包將交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò),并將支付包發(fā)送給電商服務(wù)器;
步驟S5:電商服務(wù)器接收來(lái)自數(shù)字貨幣錢(qián)包的支付包,使用支付包中的數(shù)字貨幣公鑰對(duì)簽名結(jié)果進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則執(zhí)行步驟S6;驗(yàn)證未通過(guò)則結(jié)束交易;
步驟S6:電商服務(wù)器從支付包中獲取交易標(biāo)識(shí),根據(jù)交易標(biāo)識(shí)從數(shù)字貨幣網(wǎng)絡(luò)中找到交易信息,判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的對(duì)交易信息的驗(yàn)證通過(guò)信息,是則完成交易,否則結(jié)束交易。
可選地,本實(shí)施例上述方法中,支付請(qǐng)求信息中還包括電商證書(shū)的證書(shū)鏈信息;
相應(yīng)地,步驟S2之前,還包括:
數(shù)字貨幣錢(qián)包從支付請(qǐng)求包的支付請(qǐng)求信息中獲取電商證書(shū)的證書(shū)鏈信息,使用電商證書(shū)的證書(shū)鏈信息驗(yàn)證電商證書(shū)是否有效,是則執(zhí)行步驟S2;否則拒絕交易。
可選地,本實(shí)施例上述方法中,上述步驟S1之前,還包括:
步驟S01:電商服務(wù)器接收來(lái)自數(shù)字貨幣錢(qián)包的交易請(qǐng)求,獲取與交易請(qǐng)求對(duì)應(yīng)的交易金額,根據(jù)交易金額、自身保存的電商公鑰地址和自身保存的電商證書(shū)組織支付請(qǐng)求信息;
步驟S02:電商服務(wù)器使用自身保存的私鑰對(duì)支付請(qǐng)求信息進(jìn)行簽名,生成簽名信息,并根據(jù)簽名信息和支付請(qǐng)求信息組織支付請(qǐng)求包,將支付請(qǐng)求包發(fā)送給數(shù)字貨幣錢(qián)包。
具體地,上述步驟S02中,電商服務(wù)器使用自身保存的私鑰對(duì)支付請(qǐng)求信息進(jìn)行簽名,生成所述簽名信息,具體為:電商服務(wù)器對(duì)支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算得到第一運(yùn)算結(jié)果,使用自身保存的私鑰對(duì)第一運(yùn)算結(jié)果進(jìn)行簽名,生成第一簽名值;簽名信息中包括第一運(yùn)算結(jié)果和第一簽名值;
相應(yīng)地,上述步驟S2中,數(shù)字貨幣錢(qián)包使用電商證書(shū)對(duì)簽名信息進(jìn)行驗(yàn)證,具體為:數(shù)字貨幣錢(qián)包使用電商證書(shū)中的公鑰對(duì)第一簽名值進(jìn)行解密得到解密數(shù)據(jù),對(duì)支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算得到第二運(yùn)算結(jié)果,判斷解密數(shù)據(jù)是否與第二運(yùn)算結(jié)果相同,是則驗(yàn)證通過(guò),否則驗(yàn)證未通過(guò)。
具體地,上述步驟S01中,電商服務(wù)器根據(jù)交易金額、電商公鑰地址和電商證書(shū)組織支付請(qǐng)求信息,具體包括:
步驟d11:電商服務(wù)器將交易金額和電商公鑰地址填到電商的輸出列表中;
步驟d12:電商服務(wù)器根據(jù)電商的輸出列表和電商證書(shū)組織支付請(qǐng)求信息;
相應(yīng)地,上述步驟S1中,交易金額和電商公鑰地址具體為包括交易金額和電商公鑰地址的電商的輸出列表。
進(jìn)一步地,上述步驟S01中,電商服務(wù)器根據(jù)交易金額信息、電商公鑰地址和電商證書(shū)組織支付請(qǐng)求之前,還包括:電商服務(wù)器生成上述電商公鑰地址。
進(jìn)一步地,上述步驟S02中,電商服務(wù)器使用自身保存的私鑰對(duì)支付請(qǐng)求信息進(jìn)行簽名之前,還包括:電商服務(wù)器生成傳輸?shù)刂罚?/p>
相應(yīng)地,支付請(qǐng)求信息中還包括傳輸?shù)刂罚?/p>
上述步驟S02中,電商服務(wù)器將支付請(qǐng)求包發(fā)送給數(shù)字貨幣錢(qián)包,具體為:電商服務(wù)器通過(guò)傳輸?shù)刂穼⒅Ц墩?qǐng)求包發(fā)送給數(shù)字貨幣錢(qián)包;
上述步驟S4中,數(shù)字貨幣錢(qián)包將支付包發(fā)送給電商服務(wù)器,具體為:數(shù)字貨幣錢(qián)包從支付請(qǐng)求包中獲取傳輸?shù)刂?,通過(guò)傳輸?shù)刂穼⒅Ц栋l(fā)送給電商服務(wù)器。
具體地,本實(shí)施例中上述傳輸?shù)刂肪唧w為基于SSL加密的傳輸?shù)刂贰?/p>
可選地,本實(shí)施例上述方法中,上述支付包中還包括退款地址;
相應(yīng)地,上述步驟S3中,數(shù)字貨幣錢(qián)包根據(jù)交易信息組織支付包,具體為:數(shù)字貨幣錢(qián)包根據(jù)退款地址和交易信息組織支付包。
進(jìn)一步地,上述數(shù)字貨幣錢(qián)包根據(jù)退款地址和交易信息組織支付包之前,還包括:數(shù)字貨幣錢(qián)包生成上述退款地址。
可選地,本實(shí)施例上述方法中,上述支付請(qǐng)求信息中還包括電商的電子證書(shū)信息;
相應(yīng)地,上述步驟S3之前,還包括:數(shù)字貨幣錢(qián)包顯示電商的電子證書(shū)信息,接收到用戶(hù)輸入的確認(rèn)信息時(shí),執(zhí)行步驟S3;接收到用戶(hù)輸入的取消信息,或接收超時(shí)信息時(shí),結(jié)束交易。
可選地,本實(shí)施例上述方法中,上述步驟S3中,數(shù)字貨幣錢(qián)包使用數(shù)字貨幣私鑰對(duì)交易數(shù)據(jù)和電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果,具體為:數(shù)字貨幣錢(qián)包對(duì)交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算,得到第三運(yùn)算結(jié)果,使用數(shù)字貨幣私鑰對(duì)第三運(yùn)算結(jié)果進(jìn)行簽名得到簽名值,上述簽名結(jié)果中包括第三運(yùn)算結(jié)果和簽名值;
相應(yīng)地,上述步驟S5中,電商服務(wù)器使用數(shù)字貨幣公鑰對(duì)簽名結(jié)果進(jìn)行驗(yàn)證,具體為:電商服務(wù)器根據(jù)交易標(biāo)識(shí)找到交易數(shù)據(jù),對(duì)交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果;使用交易信息中的數(shù)字貨幣公鑰對(duì)簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù),判斷驗(yàn)簽數(shù)據(jù)是否與第四運(yùn)算結(jié)果相等,是則驗(yàn)證通過(guò),否則驗(yàn)證未通過(guò)。
可選地,本實(shí)施例上述方法中,上述步驟S3中,數(shù)字貨幣錢(qián)包獲取具有與交易金額等額貨幣值的交易數(shù)據(jù)、與交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)以及與交易數(shù)據(jù)對(duì)應(yīng)的自身保存的數(shù)字貨幣私鑰,具體為:數(shù)字貨幣錢(qián)包找到具有大于或等于交易金額貨幣值的數(shù)字貨幣公鑰地址,獲取數(shù)字貨幣公鑰地址對(duì)應(yīng)的具有與交易金額等額貨幣值的交易標(biāo)識(shí),根據(jù)交易標(biāo)識(shí)找到交易數(shù)據(jù),并根據(jù)數(shù)字貨幣公鑰地址找到對(duì)應(yīng)的數(shù)字貨幣公鑰,根據(jù)數(shù)字貨幣公鑰找到自身保存的數(shù)字貨幣私鑰。
可選地,本實(shí)施例上述方法中,上述步驟S6中電商服務(wù)器判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的對(duì)交易信息的驗(yàn)證通過(guò)信息,具體為:電商服務(wù)器判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)的區(qū)塊鏈數(shù)據(jù)中查找到大于或等于預(yù)設(shè)次數(shù)的與交易信息對(duì)應(yīng)的交易記錄,是則完成交易,否則結(jié)束交易;數(shù)字貨幣網(wǎng)絡(luò)每次對(duì)交易信息驗(yàn)證通過(guò)之后都將交易信息記錄在區(qū)塊鏈數(shù)據(jù)中。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:數(shù)字貨幣錢(qián)包從支付請(qǐng)求信息中獲取電商證書(shū),使用電商證書(shū)對(duì)支付請(qǐng)包中的簽名信息進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)時(shí)才組織交易信息,驗(yàn)證未通過(guò)則拒絕交易,從而提供了安全的支付證明,可以防止支付請(qǐng)求信息中的電商公鑰地址在傳給付款方時(shí)被惡意的中間人篡改,保證電商公鑰地址不被中間人劫持和偽造,同時(shí)當(dāng)交易雙方產(chǎn)生糾紛時(shí),簽名信息可以當(dāng)做支付證明防止對(duì)方耍賴(lài);電商服務(wù)器接收到支付包時(shí),對(duì)支付包中的簽名結(jié)果進(jìn)行驗(yàn)證,電商服務(wù)器根據(jù)驗(yàn)證結(jié)果就知道交易結(jié)果為成功或失敗,不用等待預(yù)設(shè)時(shí)間后根據(jù)從數(shù)字貨幣網(wǎng)絡(luò)中查找到的對(duì)交易信息的驗(yàn)證通過(guò)信息的次數(shù)確認(rèn)交易是成功還是失敗,從而有效提高了數(shù)字貨幣電子交易的效率。電商服務(wù)器和數(shù)字貨幣錢(qián)包之間的信息傳輸不再是一串不可靠的支付地址,而是數(shù)字貨幣錢(qián)包生成的數(shù)字貨幣錢(qián)包和電商服務(wù)器可以識(shí)別的傳輸?shù)刂?,保證在信息傳遞過(guò)程中不會(huì)外泄;數(shù)字貨幣錢(qián)包發(fā)送給電商服務(wù)器的支付包中包括退款地址,當(dāng)因?yàn)槟承┰螂娚谭?wù)器需要給消費(fèi)者退款時(shí),電商不用很繁瑣的聯(lián)系消費(fèi)者獲取退款地址,提高了退款效率。
實(shí)施例2
本發(fā)明提供一種基于數(shù)字貨幣的電子交易方法,如圖2所示,該方法具體包括:
步驟10:數(shù)字貨幣錢(qián)包向電商服務(wù)器發(fā)送交易請(qǐng)求。
本實(shí)施例中的一個(gè)實(shí)例為:當(dāng)消費(fèi)者用戶(hù)通過(guò)數(shù)字貨幣錢(qián)包在電商服務(wù)器上選購(gòu)?fù)晟唐?,進(jìn)入電商服務(wù)器的結(jié)算頁(yè)面,并點(diǎn)擊“支付”按鈕之后,數(shù)字貨幣錢(qián)包向電商服務(wù)器發(fā)送交易請(qǐng)求。
步驟11:電商服務(wù)器接收到交易請(qǐng)求,獲取與交易請(qǐng)求對(duì)應(yīng)的交易金額,生成傳輸?shù)刂泛碗娚坦€地址。
具體地,電商服務(wù)器接收到交易請(qǐng)求之后,獲取到與交易請(qǐng)求對(duì)應(yīng)的商品的交易金額,例如,商品的交易金額為80satoshis(satoshis為數(shù)字貨幣的最小單位)。
具體地,電商服務(wù)器生成的傳輸?shù)刂肪唧w為基于SSL加密的傳輸?shù)刂?。本?shí)施例中,SSL加密的傳輸?shù)刂窞橐詇ttps開(kāi)頭的傳輸?shù)刂?,使用SSL加密的傳輸?shù)刂穫鬏斝畔?,可以保證所傳輸?shù)男畔⒉粫?huì)外泄,與明文傳輸?shù)刂废啾燃用艿膫鬏數(shù)刂钒踩暂^高。
具體地,電商服務(wù)器生成電商公鑰地址,具體為:電商服務(wù)器生成電商密鑰對(duì),根據(jù)電商密鑰對(duì)中的電商公鑰生成電商公鑰地址。其中,電商密鑰對(duì)包括電商公鑰和電商私鑰。
本實(shí)施例中,數(shù)字貨幣可以為比特幣、萊特幣、狗狗幣、瑞波幣、Lisk數(shù)字貨幣、以太坊、以太幣中的一種。
步驟12:電商服務(wù)器根據(jù)交易金額、傳輸?shù)刂?、電商公鑰地址、自身保存的電商證書(shū)組織支付請(qǐng)求信息。
具體地,步驟12具體包括:
步驟d11:電商服務(wù)器將交易金額和電商公鑰地址填到電商的輸出列表中;
具體地,步驟d11具體為:電商服務(wù)器按照數(shù)字貨幣交易規(guī)則將交易金額和電商公鑰地址填到電商的輸出列表中。
按照數(shù)字貨幣交易規(guī)則,電商的輸出列表中為一個(gè)輸出或多個(gè)輸出,當(dāng)電商的輸出列表中有一個(gè)輸出時(shí),會(huì)生成一個(gè)電商公鑰和一個(gè)電商私鑰,并根據(jù)電商公鑰生成電商公鑰地址;當(dāng)電商的輸出列表中有多個(gè)輸出時(shí),會(huì)生成對(duì)應(yīng)的多個(gè)電商公鑰和多個(gè)對(duì)應(yīng)的電商私鑰,并根據(jù)多個(gè)電商公鑰生成多個(gè)對(duì)應(yīng)的電商公鑰地址。其中,電商公鑰、電商私鑰和電商公鑰地址都是一一對(duì)應(yīng)關(guān)系。
例如,當(dāng)輸出列表只有一個(gè)輸出時(shí),步驟d11具體為:電商服務(wù)器生成一對(duì)電商密鑰對(duì),根據(jù)電商密鑰對(duì)中的電商公鑰生成電商公鑰地址,將電商公鑰地址和交易金額填到電商的輸出列表中。
步驟d12:電商服務(wù)器根據(jù)電商的輸出列表、電商證書(shū)組織支付請(qǐng)求信息。
步驟13:電商服務(wù)器使用自身保存的私鑰對(duì)支付請(qǐng)求信息進(jìn)行簽名,生成簽名信息,根據(jù)簽名信息和支付請(qǐng)求信息組織支付請(qǐng)求包,將支付請(qǐng)求包通過(guò)傳輸?shù)刂钒l(fā)送給數(shù)字貨幣錢(qián)包。
具體地,電商服務(wù)器使用自身保存的私鑰對(duì)支付請(qǐng)求信息進(jìn)行簽名,具體為:電商服務(wù)器對(duì)支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算得到第一運(yùn)算結(jié)果,使用自身保存的私鑰對(duì)第一運(yùn)算結(jié)果進(jìn)行簽名,生成第一簽名值;簽名信息中包括第一運(yùn)算結(jié)果和第一簽名值;
進(jìn)一步具體地,電商服務(wù)器對(duì)支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第一運(yùn)算結(jié)果,對(duì)第一運(yùn)算結(jié)果進(jìn)行Base58編碼,使用自身保存的私鑰對(duì)編碼后的第一運(yùn)算結(jié)果簽名,生成第一簽名值。
例如,預(yù)設(shè)算法為預(yù)設(shè)的哈希算法,生成的第一運(yùn)算結(jié)果為第一哈希值,電商服務(wù)器對(duì)支付請(qǐng)求信息做哈希運(yùn)算生成第一哈希值,對(duì)第一哈希值進(jìn)行Base58編碼如下:
77 47 5d c2 4a 69 9f b2 f7 81 c2 ae 3b 73 03 a6 3d ac a2 5f c1 6a e9 b5 f5 48 82 47 eb 86 fc 40;
本實(shí)施中,電商服務(wù)器自身保存的私鑰與自身保存的電商證書(shū)中的公鑰相對(duì)應(yīng)。
本實(shí)施例步驟13中,電商服務(wù)器將支付請(qǐng)求包通過(guò)傳輸?shù)刂钒l(fā)送給數(shù)字貨幣錢(qián)包,與現(xiàn)有技術(shù)中基于數(shù)字貨幣的電子交易中通常通過(guò)未加密網(wǎng)絡(luò)(例如WiFi、藍(lán)牙、NFC、條形碼)傳輸交易數(shù)據(jù)相比,可以保證所傳輸?shù)男畔⒉粫?huì)外泄,從而提高交易的安全性。
步驟14:數(shù)字貨幣錢(qián)包接收支付請(qǐng)求包,根據(jù)支付請(qǐng)求包中的電商證書(shū)驗(yàn)證支付請(qǐng)求包中的簽名信息是否合法,是則執(zhí)行步驟15,否則拒絕交易。
具體地,步驟14具體為:數(shù)字貨幣錢(qián)包使用支付請(qǐng)求包中電商證書(shū)中的公鑰對(duì)支付請(qǐng)求包中的第一簽名值進(jìn)行解密得到解密數(shù)據(jù),對(duì)支付請(qǐng)求包中支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算,生成第二運(yùn)算結(jié)果,判斷解密數(shù)據(jù)是否與第二運(yùn)算結(jié)果相同,是則驗(yàn)證通過(guò);否則驗(yàn)證未通過(guò)。
進(jìn)一步地,數(shù)字貨幣錢(qián)包對(duì)支付請(qǐng)求包中支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算,生成第二運(yùn)算結(jié)果之后,還包括:數(shù)字貨幣錢(qián)包對(duì)第二運(yùn)算結(jié)果進(jìn)行Base58編碼。本實(shí)施例中,步驟14中的預(yù)設(shè)算法是與步驟13中的預(yù)設(shè)算法相同,例如,是相同的預(yù)設(shè)的哈希算法。
例如,數(shù)字貨幣錢(qián)包使用電商證書(shū)中公鑰對(duì)支付請(qǐng)求包中的第一簽名值進(jìn)行解密得到的解密數(shù)據(jù)數(shù)據(jù)如下:77 47 5d c2 4a 69 9f b2 f7 81 c2 ae 3b 73 03 a6 3d ac a2 5f c1 6a e9 b5 f5 48 82 47 eb 86 fc 40;
數(shù)字貨幣錢(qián)包對(duì)第二運(yùn)算結(jié)果進(jìn)行編碼得到的數(shù)據(jù)如下:77 47 5d c2 4a 69 9f b2 f7 81 c2 ae 3b 73 03 a6 3d ac a2 5f c1 6a e9 b5 f5 48 82 47 eb 86 fc 40;
比較可以得出:解密數(shù)據(jù)與編碼后的第二運(yùn)算結(jié)果相同,則驗(yàn)證通過(guò)。
可選地,上述步驟12中電商服務(wù)器組織的支付請(qǐng)求信息中還包括電商證書(shū)的證書(shū)鏈信息;
相應(yīng)地,步驟14之前還包括:
步驟14-01:數(shù)字貨幣錢(qián)包使用支付請(qǐng)求包中電商證書(shū)的證書(shū)鏈信息驗(yàn)證支付請(qǐng)求包中的電商證書(shū)是否有效,是則執(zhí)行步驟14;否則拒絕交易;
本實(shí)施例中上述步驟14-01具體為:數(shù)字貨幣錢(qián)包使用電商證書(shū)的證書(shū)鏈信息中對(duì)電商證書(shū)進(jìn)行驗(yàn)證,當(dāng)證書(shū)鏈信息中的所有證書(shū)都通過(guò)了對(duì)應(yīng)的母證書(shū)的驗(yàn)證時(shí),電商證書(shū)有效;否則電商證書(shū)無(wú)效,拒絕交易。
電商證書(shū)的證書(shū)鏈信息中有一個(gè)根證書(shū),根證書(shū)可以作為母證書(shū)簽發(fā)子證書(shū),子證書(shū)還可以作為母證書(shū)繼續(xù)簽發(fā)子證書(shū),以此類(lèi)推,形成一個(gè)證書(shū)鏈。上述步驟104-01中,電商證書(shū)通過(guò)與其對(duì)應(yīng)的母證書(shū)的驗(yàn)證,電商證書(shū)的母證書(shū)作為子證書(shū)通過(guò)與其對(duì)應(yīng)的母證書(shū)的驗(yàn)證,以此類(lèi)推,在證書(shū)鏈上的每個(gè)子證書(shū)都通過(guò)對(duì)應(yīng)的母證書(shū)的驗(yàn)證,順著證書(shū)鏈信息驗(yàn)證到根證書(shū),所有驗(yàn)證都通過(guò)時(shí),才可以證明電商證書(shū)是合法有效的。根證書(shū)只有電商服務(wù)器中有,其他惡意程序無(wú)法獲取。
進(jìn)一步地,上述步驟12中電商服務(wù)器組織的支付請(qǐng)求信息中還包括公鑰體系基礎(chǔ)類(lèi)型;
相應(yīng)地,上述步驟14-01之前還包括:
步驟14-00:數(shù)字貨幣錢(qián)包驗(yàn)證支付請(qǐng)求包中的公鑰體系基礎(chǔ)類(lèi)型是否為“none”,是則拒絕交易;否則執(zhí)行步驟14-01;
可選地,上述步驟14-01之前,還包括:數(shù)字貨幣錢(qián)包判斷接收的支付請(qǐng)求包的大小是否超過(guò)預(yù)設(shè)范圍,是則拒絕交易;否則執(zhí)行步驟14-01;
例如,數(shù)字貨幣錢(qián)包判斷支付請(qǐng)求包的大小是否大于50000字節(jié),是則超過(guò)預(yù)設(shè)范圍,否則沒(méi)有超過(guò)預(yù)設(shè)范圍。
支付請(qǐng)求包超過(guò)50000字節(jié)時(shí),數(shù)字貨幣錢(qián)包拒絕接收,從而有效防止接收惡意數(shù)據(jù)包,避免因接收惡意數(shù)據(jù)而導(dǎo)致的系統(tǒng)崩潰。
可選地,上述電商服務(wù)器組織的支付請(qǐng)求信息中還包括網(wǎng)絡(luò)類(lèi)型;
相應(yīng)地,上述步驟14之前還包括:數(shù)字貨幣錢(qián)包判斷支付請(qǐng)求包中的網(wǎng)絡(luò)類(lèi)型是否為“main”或“test”,是則執(zhí)行步驟14,否則拒絕交易。其中“main”為數(shù)字貨幣網(wǎng)絡(luò),“test”為數(shù)字貨幣測(cè)試網(wǎng)絡(luò)。
本實(shí)施例中,數(shù)字貨幣網(wǎng)絡(luò)為比特幣網(wǎng)絡(luò)、萊特幣網(wǎng)絡(luò)、狗狗幣網(wǎng)絡(luò)、瑞波幣網(wǎng)絡(luò)、Lisk數(shù)字貨幣網(wǎng)絡(luò)、以太坊網(wǎng)絡(luò)、以太幣網(wǎng)絡(luò)中的一種。
步驟15:數(shù)字貨幣錢(qián)包獲取具有與支付請(qǐng)求包中交易金額等額貨幣值的交易數(shù)據(jù)、與交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)、與交易數(shù)據(jù)對(duì)應(yīng)的自身保存的數(shù)字貨幣私鑰,從支付請(qǐng)求包中獲取電商公鑰地址,使用數(shù)字貨幣私鑰對(duì)交易數(shù)據(jù)和電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果,根據(jù)簽名結(jié)果、交易標(biāo)識(shí)和與數(shù)字貨幣私鑰對(duì)應(yīng)的數(shù)字貨幣公鑰組織交易信息,根據(jù)交易信息組織支付包,將交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò),將支付包發(fā)送給電商服務(wù)器。
可選地,上述步驟12中電商服務(wù)器組織的支付請(qǐng)求信息中還包括電商服務(wù)器自身保存的電商的電子證書(shū)信息;
相應(yīng)地,步驟15之前還包括:數(shù)字貨幣錢(qián)包顯示支付請(qǐng)求包中電商的電子證書(shū)信息,當(dāng)接收到用戶(hù)輸入的確認(rèn)信息時(shí),執(zhí)行步驟15;當(dāng)接收到用戶(hù)輸入的取消信息,或接收到超時(shí)信息時(shí),結(jié)束交易。
具體地,數(shù)字貨幣錢(qián)包顯示電商的電子證書(shū)信息時(shí),用戶(hù)根據(jù)顯示的電子證書(shū)信息判斷電商服務(wù)器的身份是否合法,當(dāng)用戶(hù)確認(rèn)身份合法時(shí),點(diǎn)擊確認(rèn)按鍵之后,數(shù)字貨幣錢(qián)包接收到用戶(hù)輸入的確認(rèn)信息;當(dāng)用戶(hù)確認(rèn)身份不合法時(shí),點(diǎn)擊取消按鍵之后,數(shù)字貨幣錢(qián)包接收到用戶(hù)輸入的取消信息,當(dāng)超過(guò)預(yù)設(shè)時(shí)間之后用戶(hù)沒(méi)有點(diǎn)擊確認(rèn)按鍵或取消按鍵,數(shù)字貨幣錢(qián)包接收到超時(shí)信息。本實(shí)施例中,數(shù)字貨幣錢(qián)包顯示的電商的電子證書(shū)信息可以包括電商名稱(chēng)以及電商的電子證書(shū)是否合法等信息。
進(jìn)一步地,上述步驟12中電商服務(wù)器組織的支付請(qǐng)求信息中還包括顯示提示信息。顯示提示信息是電商設(shè)定的可以在數(shù)字貨幣錢(qián)包顯示的信息,例如,顯示提示信息中可以包括交易金額信息、商品名稱(chēng)等信息。相應(yīng)地,步驟15中數(shù)字貨幣錢(qián)包接收到用戶(hù)輸入的確認(rèn)信息、取消信息,或超時(shí)信息之前還包括:數(shù)字貨幣錢(qián)包根據(jù)支付請(qǐng)求信息中的顯示提示信息顯示相應(yīng)信息。例如,數(shù)字貨幣錢(qián)包根據(jù)顯示提示信息顯示交易金額、商品名稱(chēng)等信息。用戶(hù)可以根據(jù)數(shù)字貨幣錢(qián)包顯示的顯示提示信息和電商的電子證書(shū)選擇點(diǎn)擊取消按鍵或點(diǎn)擊確認(rèn)按鍵。
可選地,步驟12中,電商服務(wù)器組織的支付請(qǐng)求信息中還包括組織支付請(qǐng)求信息的時(shí)間和支付請(qǐng)求信息的有效時(shí)間;
相應(yīng)地,步驟15中,在數(shù)字貨幣錢(qián)包組織交易信息之前,還包括:數(shù)字貨幣錢(qián)包根據(jù)支付請(qǐng)求包中組織支付請(qǐng)求信息的時(shí)間和支付請(qǐng)求信息的有效時(shí)間判斷系統(tǒng)當(dāng)前時(shí)間是否超時(shí),是則拒絕交易,否則組織交易信息。
例如,組織支付請(qǐng)求的時(shí)間是2016年1月1日8:00,支付請(qǐng)求信息的有效時(shí)間是20分鐘,如果當(dāng)前系統(tǒng)時(shí)間為2016年1月1日8:20之后則已經(jīng)超時(shí),如果當(dāng)前系統(tǒng)時(shí)間為2016年1月1日10:20之前則未超時(shí)。
在步驟15中,當(dāng)支付請(qǐng)求包中網(wǎng)絡(luò)類(lèi)型為“main”時(shí),數(shù)字貨幣錢(qián)包將交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò);當(dāng)支付請(qǐng)求包中網(wǎng)絡(luò)類(lèi)型為“test”(測(cè)試網(wǎng))時(shí),數(shù)字貨幣錢(qián)包將交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò)的測(cè)試網(wǎng)絡(luò)和/或數(shù)字貨幣網(wǎng)絡(luò)。
具體地,步驟15中,數(shù)字貨幣錢(qián)包獲取具有與支付包中交易金額等額貨幣值的交易數(shù)據(jù)、與交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)、與交易數(shù)據(jù)對(duì)應(yīng)的自身保存的數(shù)字貨幣私鑰,具體為:數(shù)字貨幣錢(qián)包找到具有大于或等于交易金額貨幣值的數(shù)字貨幣公鑰地址,獲取數(shù)字貨幣公鑰地址對(duì)應(yīng)的具有與交易金額等額貨幣值的交易標(biāo)識(shí),根據(jù)交易標(biāo)識(shí)找到交易數(shù)據(jù),并根據(jù)數(shù)字貨幣公鑰地址找到對(duì)應(yīng)的數(shù)字貨幣公鑰,根據(jù)數(shù)字貨幣公鑰找到自身保存的數(shù)字貨幣私鑰。
本實(shí)施例中,數(shù)字貨幣錢(qián)包中具有一個(gè)或多個(gè)數(shù)字貨幣公鑰地址,每個(gè)數(shù)字貨幣公鑰地址中具有一定額度的數(shù)字貨幣。每個(gè)數(shù)字貨幣公鑰地址對(duì)應(yīng)有一個(gè)或多個(gè)交易標(biāo)識(shí),每個(gè)交易標(biāo)識(shí)與一筆交易數(shù)據(jù)對(duì)應(yīng),每筆交易數(shù)據(jù)中具有一定額度的數(shù)字貨幣。
上述數(shù)字貨幣錢(qián)包找到具有大于或等于交易金額貨幣值的數(shù)字貨幣公鑰地址,具體為:數(shù)字貨幣錢(qián)包選擇一個(gè)數(shù)字貨幣額度大于或等于交易金額額度的數(shù)字貨幣公鑰地址;或者選擇多個(gè)數(shù)字貨幣公鑰地址,多個(gè)數(shù)字貨幣公鑰地址的數(shù)字貨幣值之和大于或等于交易金額。
上述數(shù)字貨幣錢(qián)包獲取數(shù)字貨幣公鑰地址對(duì)應(yīng)的具有與交易金額等額貨幣值的交易標(biāo)識(shí),根據(jù)交易標(biāo)識(shí)找到交易數(shù)據(jù)具體為:當(dāng)數(shù)字貨幣錢(qián)包獲取的一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù)中的數(shù)字貨幣值等于交易金額時(shí),數(shù)字貨幣錢(qián)包找到一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù);當(dāng)數(shù)字貨幣錢(qián)包獲取的一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù)中的數(shù)字貨幣值大于交易金額時(shí),數(shù)字貨幣錢(qián)包找到一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù),并根據(jù)一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù)中的數(shù)字貨幣和交易金額計(jì)算找零數(shù)字貨幣,獲取找零數(shù)字貨幣公鑰地址,將找零數(shù)字貨幣填到找零數(shù)字貨幣公鑰地址中。
相應(yīng)地,步驟15中數(shù)字貨幣錢(qián)包使用數(shù)字貨幣私鑰對(duì)交易數(shù)據(jù)和電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果,具體為:
當(dāng)數(shù)字貨幣錢(qián)包獲取的一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù)中的數(shù)字貨幣值等于交易金額時(shí),數(shù)字貨幣錢(qián)包使用與數(shù)字貨幣公鑰對(duì)應(yīng)的數(shù)字貨幣私鑰對(duì)找到的一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù)、電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果;如果有多個(gè)數(shù)字貨幣公鑰地址時(shí),對(duì)應(yīng)有多個(gè)數(shù)字貨幣公鑰,則需要使用對(duì)應(yīng)的數(shù)字貨幣私鑰對(duì)對(duì)應(yīng)的交易數(shù)據(jù)、電商公鑰地址進(jìn)行簽名,例如,當(dāng)數(shù)字貨幣錢(qián)包獲取數(shù)字貨幣公鑰地址1和數(shù)字貨幣公鑰地址2時(shí),獲取的與數(shù)字貨幣公鑰地址1對(duì)應(yīng)的交易標(biāo)識(shí)包括交易標(biāo)識(shí)11和交易標(biāo)識(shí)12,獲取的與數(shù)字貨幣公鑰地址2對(duì)應(yīng)的交易標(biāo)識(shí)為交易標(biāo)識(shí)2,則數(shù)字貨幣錢(qián)包需要使用與數(shù)字貨幣公鑰地址1對(duì)應(yīng)的數(shù)字貨幣私鑰1對(duì)交易數(shù)據(jù)11(與交易標(biāo)識(shí)11對(duì)應(yīng)的交易數(shù)據(jù))、交易數(shù)據(jù)12(與交易標(biāo)識(shí)12對(duì)應(yīng)的交易數(shù)據(jù))、電商地址進(jìn)行簽名得到簽名結(jié)果1,使用與數(shù)字貨幣公鑰地址2對(duì)應(yīng)的數(shù)字貨幣私鑰2對(duì)交易數(shù)據(jù)2(與交易標(biāo)識(shí)2對(duì)應(yīng)的交易數(shù)據(jù))、電商地址進(jìn)行簽名得到簽名結(jié)果2。
當(dāng)數(shù)字貨幣錢(qián)包獲取的一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù)中的數(shù)字貨幣值大于交易金額時(shí),數(shù)字貨幣錢(qián)包使用數(shù)字貨幣私鑰對(duì)找到的一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的交易數(shù)據(jù)、填充有找零數(shù)字貨幣的找零數(shù)字貨幣公鑰地址、電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果。
本實(shí)施例中,上述數(shù)字貨幣錢(qián)包獲取找零數(shù)字貨幣公鑰地址,具體為:數(shù)字貨幣錢(qián)包獲取自身保存的可用于收款的數(shù)字貨幣公鑰地址,將獲取的可用于收款的數(shù)字貨幣公鑰地址作為找零數(shù)字貨幣公鑰地址;或者數(shù)字貨幣錢(qián)包生成找零數(shù)字貨幣公鑰地址。
具體地,數(shù)字貨幣錢(qián)包生成找零數(shù)字貨幣公鑰地址,具體為:數(shù)字貨幣錢(qián)包生成找零數(shù)字貨幣密鑰對(duì),根據(jù)找零數(shù)字貨幣密鑰對(duì)中的找零數(shù)字貨幣公鑰生成找零數(shù)字貨幣公鑰地址。找零數(shù)字貨幣密鑰對(duì)包括找零數(shù)字貨幣私鑰和找零數(shù)字貨幣公鑰,找零數(shù)字貨幣公鑰、找零數(shù)字貨幣私鑰和找零數(shù)字貨幣公鑰地址是一一對(duì)應(yīng)關(guān)系。
進(jìn)一步具體地,上述步驟15中數(shù)字貨幣錢(qián)包使用數(shù)字貨幣私鑰對(duì)交易數(shù)據(jù)和電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果,具體為:數(shù)字貨幣錢(qián)包對(duì)交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算,得到第三運(yùn)算結(jié)果,使用數(shù)字貨幣私鑰對(duì)第三運(yùn)算結(jié)果進(jìn)行簽名得到簽名值,簽名結(jié)果中包括第三運(yùn)算結(jié)果和簽名值;
或者,數(shù)字貨幣錢(qián)包數(shù)字貨幣錢(qián)包對(duì)交易數(shù)據(jù)、填充有找零數(shù)字貨幣的找零數(shù)字貨幣公鑰地址、電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算,得到第三運(yùn)算結(jié)果,使用數(shù)字貨幣私鑰對(duì)第三運(yùn)算結(jié)果進(jìn)行簽名得到簽名值,簽名結(jié)果中包括第三運(yùn)算結(jié)果和簽名值。本實(shí)施例中,預(yù)設(shè)算法為預(yù)設(shè)的哈希算法。
可選地,本實(shí)施例中,上述第三運(yùn)算結(jié)果可以作為本次交易的交易標(biāo)識(shí),電商服務(wù)器需要花費(fèi)這筆交易的數(shù)字貨幣時(shí),可以根據(jù)電商公鑰地址找到本次交易的交易標(biāo)識(shí)。
步驟16:電商服務(wù)器對(duì)支付包中的簽名結(jié)果進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則執(zhí)行步驟17,驗(yàn)證未通過(guò)則結(jié)束。
步驟16具體為:電商服務(wù)器根據(jù)交易信息中的交易標(biāo)識(shí)找到交易數(shù)據(jù),對(duì)交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果;使用交易信息中的數(shù)字貨幣公鑰對(duì)簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù),判斷驗(yàn)簽數(shù)據(jù)是否與第四運(yùn)算結(jié)果相等,是則驗(yàn)證通過(guò),否則驗(yàn)證未通過(guò)。
步驟16中的交易信息中包括多個(gè)交易標(biāo)識(shí)時(shí),每個(gè)交易標(biāo)識(shí)對(duì)應(yīng)有一個(gè)交易數(shù)據(jù)、一個(gè)數(shù)字貨幣公鑰,根據(jù)多個(gè)交易標(biāo)識(shí)找到多個(gè)交易數(shù)據(jù),則使用與交易標(biāo)識(shí)對(duì)應(yīng)數(shù)字貨幣公鑰對(duì)交易數(shù)據(jù)進(jìn)行驗(yàn)簽。
當(dāng)多個(gè)交易標(biāo)識(shí)對(duì)應(yīng)的數(shù)字貨幣公鑰為同一個(gè)數(shù)字貨幣公鑰時(shí),則簽名結(jié)果中包括一個(gè)簽名值,上述電商服務(wù)器對(duì)交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果,使用交易信息中的數(shù)字貨幣公鑰對(duì)簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù),具體為:電商服務(wù)器對(duì)多個(gè)交易標(biāo)識(shí)對(duì)應(yīng)的多筆交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果,使用交易信息中的數(shù)字貨幣公鑰對(duì)簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù)。
當(dāng)多個(gè)交易標(biāo)識(shí)對(duì)應(yīng)的數(shù)字貨幣公鑰為不同的數(shù)字貨幣公鑰時(shí),則簽名結(jié)果中包括與數(shù)字貨幣公鑰對(duì)應(yīng)的簽名值,上述電商服務(wù)器對(duì)交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果,使用交易信息中的數(shù)字貨幣公鑰對(duì)簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù),具體為:電商服務(wù)器對(duì)與交易信息中與每個(gè)數(shù)字貨幣公鑰對(duì)應(yīng)的一個(gè)或多個(gè)交易標(biāo)識(shí)所對(duì)應(yīng)的一筆或多筆交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成多個(gè)與數(shù)字貨幣公鑰對(duì)應(yīng)的第四運(yùn)算結(jié)果,并使用交易信息中對(duì)應(yīng)的數(shù)字貨幣公鑰對(duì)與數(shù)字貨幣公鑰對(duì)應(yīng)的簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù)。
例如,數(shù)字貨幣公鑰1對(duì)應(yīng)的交易標(biāo)識(shí)為交易標(biāo)識(shí)1和交易標(biāo)識(shí)2,數(shù)字貨幣公鑰2對(duì)應(yīng)的交易標(biāo)識(shí)為交易標(biāo)識(shí)3,則電商服務(wù)器對(duì)交易數(shù)據(jù)和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果,使用交易信息中的數(shù)字貨幣公鑰對(duì)簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù),具體為:電商服務(wù)器對(duì)交易數(shù)據(jù)1(與交易標(biāo)識(shí)1對(duì)應(yīng)的交易數(shù)據(jù))、交易數(shù)據(jù)2(與交易標(biāo)識(shí)2對(duì)應(yīng)的交易數(shù)據(jù))和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果1,電商服務(wù)器對(duì)交易數(shù)據(jù)3(與交易標(biāo)識(shí)3對(duì)應(yīng)的交易數(shù)據(jù))和電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果2,使用交易信息中的數(shù)字貨幣公鑰1對(duì)簽名值1(與數(shù)字貨幣公鑰1對(duì)應(yīng)的簽名值)進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù)1,使用交易信息中的數(shù)字貨幣公鑰2對(duì)簽名值2(與數(shù)字貨幣公鑰2對(duì)應(yīng)的簽名值)進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù)2,判斷驗(yàn)簽數(shù)據(jù)1是否與第四運(yùn)算結(jié)果1相等,并且判斷驗(yàn)簽數(shù)據(jù)2是否與第四運(yùn)算結(jié)果2相等,均為是則驗(yàn)證通過(guò),否則驗(yàn)證未通過(guò)。
本實(shí)施例中,電商服務(wù)器根據(jù)對(duì)支付包中簽名結(jié)果的驗(yàn)證可以很快確認(rèn)交易是成功或失敗,提高了電子交易的效率。當(dāng)交易成功時(shí),電商用戶(hù)可以從電商服務(wù)器中查找到驗(yàn)證通過(guò)的信息,直接發(fā)貨,無(wú)需等待預(yù)設(shè)時(shí)間從數(shù)字貨幣網(wǎng)絡(luò)查找預(yù)設(shè)次數(shù)的對(duì)交易信息的驗(yàn)證通過(guò)信息。
可選地,本實(shí)施例中,步驟16中驗(yàn)證通過(guò)時(shí),電商服務(wù)器顯示驗(yàn)證通過(guò)的信息;驗(yàn)證未通過(guò)時(shí),電商服務(wù)器顯示驗(yàn)證未通過(guò)信息,并結(jié)束交易。
當(dāng)電商服務(wù)器驗(yàn)證簽名結(jié)果通過(guò)時(shí),在執(zhí)行步驟17之前,電商服務(wù)器跳轉(zhuǎn)頁(yè)面,不需要用戶(hù)繼續(xù)等待數(shù)字貨幣網(wǎng)絡(luò)對(duì)交易信息確認(rèn)通過(guò)之后才跳轉(zhuǎn)頁(yè)面,操作方便。并且當(dāng)電商服務(wù)器驗(yàn)證通過(guò)時(shí),電商可以直接發(fā)貨,不用等待預(yù)設(shè)時(shí)間之后數(shù)字貨幣網(wǎng)絡(luò)對(duì)交易信息確認(rèn)之后再發(fā)貨,有效提高電子交易的效率。
當(dāng)電商服務(wù)器驗(yàn)證簽名結(jié)果未通過(guò)時(shí),直接結(jié)束交易,并且可以顯示結(jié)束交易的信息,用戶(hù)無(wú)需等待數(shù)字貨幣網(wǎng)絡(luò)在預(yù)設(shè)時(shí)間內(nèi)確認(rèn)交易信息的結(jié)果為失敗才結(jié)束交易,從而可以盡快知曉交易結(jié)果,提高交易效率,為用戶(hù)節(jié)省時(shí)間。
可選地,步驟16之前還包括:電商服務(wù)器判斷支付包的大小是否超過(guò)預(yù)設(shè)范圍,是則結(jié)束交易,否則執(zhí)行步驟16。
可選地,步驟16之后、步驟17之前還包括:電商服務(wù)器判斷支付包的大小是否超過(guò)預(yù)設(shè)范圍,是則結(jié)束交易,否則執(zhí)行步驟17。
例如,當(dāng)電商服務(wù)器判斷支付包的大小超過(guò)50000字節(jié)時(shí),則電商服務(wù)器結(jié)束交易。
支付包超過(guò)50000字節(jié)時(shí),電商服務(wù)器拒絕接收,從而有效防止接收惡意數(shù)據(jù)包,避免因接收惡意數(shù)據(jù)而導(dǎo)致的系統(tǒng)崩潰。
可選地,步驟16之后、步驟17之前還包括:電商服務(wù)器判斷支付包的格式是否正確,是則執(zhí)行步驟17,否則結(jié)束交易。
可選地,步驟16之前還包括:電商服務(wù)器判斷支付包的格式是否正確,是則執(zhí)行步驟16,否則結(jié)束。
步驟17:電商服務(wù)器從支付包中獲取交易標(biāo)識(shí),根據(jù)交易標(biāo)識(shí)從數(shù)字貨幣網(wǎng)絡(luò)中找到交易信息,判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的對(duì)交易信息的驗(yàn)證通過(guò)信息,是則完成交易,否則結(jié)束交易。例如,預(yù)設(shè)時(shí)間為1小時(shí),預(yù)設(shè)次數(shù)為6次。
具體地,電商服務(wù)器判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的對(duì)交易信息的驗(yàn)證通過(guò)信息,具體為:電商服務(wù)器判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)的區(qū)塊鏈數(shù)據(jù)中查找到大于或等于預(yù)設(shè)次數(shù)的與交易信息對(duì)應(yīng)的交易記錄,是則完成交易,否則結(jié)束交易;數(shù)字貨幣網(wǎng)絡(luò)每次對(duì)交易信息驗(yàn)證通過(guò)之后都將交易信息記錄在區(qū)塊鏈數(shù)據(jù)中。
優(yōu)選地,本實(shí)施例中,當(dāng)交易信息中包括多筆交易數(shù)據(jù)時(shí),電商服務(wù)器根據(jù)每一個(gè)交易標(biāo)識(shí)從數(shù)字貨幣網(wǎng)絡(luò)中查找到對(duì)應(yīng)交易數(shù)據(jù),均在預(yù)設(shè)時(shí)間內(nèi)從數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的驗(yàn)證通過(guò)信息,才完成交易。
可選地,步驟16之后、完成交易之前還包括:
步驟18:電商服務(wù)器從數(shù)字貨幣網(wǎng)絡(luò)中獲取交易狀態(tài),根據(jù)交易狀態(tài)生成支付狀態(tài),根據(jù)支付包進(jìn)行拷貝得到支付包的拷貝信息,根據(jù)支付包的拷貝信息和支付狀態(tài)組織支付應(yīng)答包,并將支付應(yīng)答包發(fā)送給數(shù)字貨幣錢(qián)包。具體地,支付狀態(tài)為完成交易或正在驗(yàn)證。
步驟19:數(shù)字貨幣錢(qián)包判斷支付應(yīng)答包是否符合要求,是則執(zhí)行步驟20;否則拒絕接收支付應(yīng)答包,結(jié)束交易。
具體地,數(shù)字貨幣錢(qián)包判斷支付應(yīng)答包的大小是否符合要求,是則執(zhí)行步驟20,否則拒絕接收支付應(yīng)答包。例如,數(shù)字貨幣錢(qián)包判斷支付應(yīng)答包的大小是否大于或等于60000字節(jié),是則拒絕接收支付應(yīng)答包,結(jié)束交易;否則執(zhí)行步驟20。
支付應(yīng)答包超過(guò)60000字節(jié)時(shí),數(shù)字貨幣錢(qián)包拒絕接收,從而有效防止接收惡意數(shù)據(jù)包,避免因接收惡意數(shù)據(jù)而導(dǎo)致的系統(tǒng)崩潰。
步驟20:數(shù)字貨幣錢(qián)包根據(jù)支付應(yīng)答包中的支付狀態(tài)顯示支付狀態(tài)的信息。
例如,支付應(yīng)答包中的支付狀態(tài)為“正在驗(yàn)證”,數(shù)字貨幣錢(qián)包顯示“正在驗(yàn)證”的支付狀態(tài)的信息。
可選地,本實(shí)施例上述步驟12中,還包括:電商服務(wù)器生成電商標(biāo)識(shí),支付請(qǐng)求信息中還包括電商標(biāo)識(shí)。每次交易生成的電商標(biāo)識(shí)都不同。
相應(yīng)地,上述步驟15中,還包括:數(shù)字貨幣錢(qián)包從支付請(qǐng)求包的支付請(qǐng)求信息中獲取電商標(biāo)識(shí),組織的支付包中還包括電商標(biāo)識(shí);
上述步驟15之后、上述步驟16之前,還包括:電商服務(wù)器判斷是否保存有與支付包中的電商標(biāo)識(shí)對(duì)應(yīng)的電商標(biāo)識(shí),是則執(zhí)行步驟16,否則結(jié)束。
例如,電商服務(wù)器接收的支付包中電商標(biāo)識(shí)為1,判斷自身保存的電商標(biāo)識(shí)包括1時(shí),執(zhí)行步驟16,否則結(jié)束。
可選地,上述步驟15中,數(shù)字貨幣錢(qián)包組織的支付包中還包括退款地址;
相應(yīng)地,上述步驟15中,數(shù)字貨幣錢(qián)包根據(jù)交易信息組織支付包,具體為:數(shù)字貨幣錢(qián)包根據(jù)退款地址和交易信息組織支付包。
進(jìn)一步地,上述數(shù)字貨幣錢(qián)包根據(jù)退款地址和交易信息組織支付包之前,還包括:數(shù)字貨幣錢(qián)包生成退款地址。
具體地,數(shù)字貨幣錢(qián)包生成退款地址,具體為:數(shù)字貨幣錢(qián)包生成退款數(shù)字貨幣密鑰對(duì),根據(jù)退款數(shù)字貨幣密鑰對(duì)中的退款數(shù)字貨幣公鑰生成退款數(shù)字貨幣公鑰地址,將退款數(shù)字貨幣公鑰地址作為退款地址。
數(shù)字貨幣錢(qián)包生成退款地址,發(fā)送給電商服務(wù)器的支付包中包括退款地址,當(dāng)因?yàn)槟承┰螂娚谭?wù)器需要給消費(fèi)者退款時(shí),電商不用很繁瑣的聯(lián)系消費(fèi)者獲取退款地址,提高了退款效率。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:數(shù)字貨幣錢(qián)包從支付請(qǐng)求信息中獲取電商證書(shū),使用電商證書(shū)對(duì)支付請(qǐng)包中的簽名信息進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)時(shí)才組織交易信息,驗(yàn)證未通過(guò)則拒絕交易,從而提供了安全的支付證明,可以防止支付請(qǐng)求信息中的電商公鑰地址在傳給付款方時(shí)被惡意的中間人篡改,保證電商公鑰地址不被中間人劫持和偽造,同時(shí)當(dāng)交易雙方產(chǎn)生糾紛時(shí),簽名信息可以當(dāng)做支付證明防止對(duì)方耍賴(lài);電商服務(wù)器接收到支付包時(shí),對(duì)支付包中的簽名結(jié)果進(jìn)行驗(yàn)證,電商服務(wù)器根據(jù)驗(yàn)證結(jié)果就知道交易結(jié)果為成功或失敗,不用等待預(yù)設(shè)時(shí)間后根據(jù)從數(shù)字貨幣網(wǎng)絡(luò)中查找到的對(duì)交易信息的驗(yàn)證通過(guò)信息的次數(shù)確認(rèn)交易是成功還是失敗,從而有效提高了數(shù)字貨幣電子交易的效率。
本發(fā)明的有益效果還包括:電商服務(wù)器和數(shù)字貨幣錢(qián)包之間的信息傳輸不再是一串不可靠的支付地址,而是數(shù)字貨幣錢(qián)包生成的數(shù)字貨幣錢(qián)包和電商服務(wù)器可以識(shí)別的傳輸?shù)刂?,保證在信息傳遞過(guò)程中不會(huì)外泄;數(shù)字貨幣錢(qián)包發(fā)送給電商服務(wù)器的支付包中包括退款地址,當(dāng)因?yàn)槟承┰螂娚谭?wù)器需要給消費(fèi)者退款時(shí),電商不用很繁瑣的聯(lián)系消費(fèi)者獲取退款地址,提高了退款效率。
實(shí)施例3
本發(fā)明提供一種基于數(shù)字貨幣的電子交易的系統(tǒng),如圖3所示,包括數(shù)字貨幣錢(qián)包1和電商服務(wù)器2;
其中,數(shù)字貨幣錢(qián)包1包括:
保存模塊101,用于保存數(shù)字貨幣私鑰;
第一接收模塊102,用于接收來(lái)自電商服務(wù)器2的支付請(qǐng)求包,支付請(qǐng)求包中包括支付請(qǐng)求信息和電商服務(wù)器2使用自身保存的私鑰對(duì)支付請(qǐng)求信息的簽名信息,支付請(qǐng)求信息中包括電商證書(shū)、交易金額和電商公鑰地址;
第一獲取模塊103,用于從第一接收模塊102接收的支付請(qǐng)求包的支付請(qǐng)求信息中獲取電商證書(shū)和簽名信息;
第一驗(yàn)證模塊104,用于使用第一獲取模塊103獲取的電商證書(shū)對(duì)第一獲取模塊103獲取的簽名信息進(jìn)行驗(yàn)證;
交易拒絕模塊105,用于當(dāng)?shù)谝或?yàn)證模塊104對(duì)簽名信息驗(yàn)證未通過(guò)時(shí),拒絕交易;
第二獲取模塊106,用于當(dāng)?shù)谝或?yàn)證模塊104對(duì)簽名信息驗(yàn)證通過(guò)時(shí),獲取具有與第一接收模塊102接收的支付請(qǐng)求包中的交易金額等額貨幣值的交易數(shù)據(jù)、與交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)以及與交易數(shù)據(jù)對(duì)應(yīng)的保存模塊101保存的數(shù)字貨幣私鑰;
第三獲取模塊107,用于當(dāng)?shù)谝或?yàn)證模塊104對(duì)簽名信息驗(yàn)證通過(guò)時(shí),從第一接收模塊102接收的支付請(qǐng)求包的支付請(qǐng)求信息中獲取電商公鑰地址;
第一簽名模塊108,用于使用第二獲取模塊106獲取的數(shù)字貨幣私鑰對(duì)第二獲取模塊106獲取的交易數(shù)據(jù)和第三獲取模塊107獲取的電商公鑰地址進(jìn)行簽名,得到簽名結(jié)果;
第一組織模塊109,用于根據(jù)第一簽名模塊108得到的簽名結(jié)果、第二獲取模塊106獲取的交易標(biāo)識(shí)和與第二獲取模塊106獲取的數(shù)字貨幣私鑰對(duì)應(yīng)的數(shù)字貨幣公鑰組織交易信息;
第二組織模塊110,用于根據(jù)第一組織模塊109組織的交易信息組織支付包;
廣播模塊111,用于將第一組織模塊109組織的交易信息廣播到數(shù)字貨幣網(wǎng)絡(luò);
第一發(fā)送模塊112,用于將第二組織模塊110組織的支付包發(fā)送給電商服務(wù)器2;
電商服務(wù)器2包括:
第二接收模塊201,用于接收來(lái)自數(shù)字貨幣錢(qián)包1的支付包;
第二驗(yàn)證模塊202,用于使用第二接收模塊201接收的支付包中的數(shù)字貨幣公鑰對(duì)第二接收模塊201接收的支付包中的簽名結(jié)果進(jìn)行驗(yàn)證;
第四獲取模塊203,用于當(dāng)?shù)诙?yàn)證模塊202的驗(yàn)證結(jié)果為驗(yàn)證通過(guò)時(shí),從第二接收模塊201接收的支付包中獲取交易標(biāo)識(shí),根據(jù)交易標(biāo)識(shí)從數(shù)字貨幣網(wǎng)絡(luò)中找到交易信息;
判斷模塊204,用于判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)中查找到大于或等于預(yù)設(shè)次數(shù)的對(duì)第四獲取模塊203找到的交易信息的驗(yàn)證通過(guò)信息;
完成交易模塊205,用于當(dāng)判斷模塊204判斷結(jié)果為是時(shí),完成交易;
交易結(jié)束模塊206,用于當(dāng)?shù)诙?yàn)證模塊202的驗(yàn)證結(jié)果為驗(yàn)證未通過(guò)時(shí),結(jié)束交易;用于當(dāng)判斷模塊204判斷結(jié)果為否時(shí),結(jié)束交易。
可選地,本實(shí)施例上述系統(tǒng)中的數(shù)字貨幣錢(qián)包1還包括第三驗(yàn)證模塊,用于從第一接收模塊102接收的支付包的支付請(qǐng)求信息中獲取電商證書(shū)的證書(shū)鏈信息,使用電商證書(shū)的證書(shū)鏈信息驗(yàn)證第一獲取模塊103獲取的電商證書(shū)是否有效;
相應(yīng)地,上述第一接收模塊102接收的支付包的支付請(qǐng)求信息中還包括電商證書(shū)的證書(shū)鏈信息;
上述第一驗(yàn)證模塊104,具體用于當(dāng)?shù)谌?yàn)證模塊驗(yàn)證電商證書(shū)有效時(shí),使用第一獲取模塊103獲取的電商證書(shū)對(duì)第一獲取模塊103獲取的簽名信息進(jìn)行驗(yàn)證;
上述交易拒絕模塊105,還用于當(dāng)?shù)谌?yàn)證模塊驗(yàn)證第一獲取模塊103獲取的電商證書(shū)無(wú)效時(shí),拒絕交易。
可選地,本實(shí)施例上述系統(tǒng)中的電商服務(wù)器2還包括:
第三接收模塊,用于接收來(lái)自數(shù)字貨幣錢(qián)包1的交易請(qǐng)求,獲取與交易請(qǐng)求對(duì)應(yīng)的交易金額;
第一存儲(chǔ)模塊,用于保存電商證書(shū)和私鑰;
第二存儲(chǔ)模塊,用于保存電商公鑰地址;
第三組織模塊,用于根據(jù)第三接收模塊獲取的交易金額、第二存儲(chǔ)模塊保存的電商公鑰地址和第一存儲(chǔ)模塊保存的電商證書(shū)組織支付請(qǐng)求信息;
第二簽名模塊,用于使用第一存儲(chǔ)模塊保存的私鑰對(duì)第三組織模塊組織的支付請(qǐng)求信息進(jìn)行簽名,生成簽名信息;
第四組織模塊,用于根據(jù)第二簽名模塊生成的簽名信息和第三組織模塊組織的支付請(qǐng)求信息組織支付請(qǐng)求包;
第二發(fā)送模塊,用于將第四組織模塊組織的支付請(qǐng)求包發(fā)送給數(shù)字貨幣錢(qián)包1。
具體地,上述第二簽名模塊,具體用于對(duì)第三組織模塊組織的支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算得到第一運(yùn)算結(jié)果,使用第一存儲(chǔ)模塊保存的私鑰對(duì)第一運(yùn)算結(jié)果進(jìn)行簽名,生成第一簽名值;簽名信息中包括第一運(yùn)算結(jié)果和第一簽名值;
相應(yīng)地,上述第一獲取模塊103獲取的簽名信息中包括第一運(yùn)算結(jié)果和第一簽名值;
上述第一驗(yàn)證模塊104,具體用于使用第一獲取模塊103獲取的電商證書(shū)中的公鑰對(duì)第一獲取模塊103獲取的第一簽名值進(jìn)行解密得到解密數(shù)據(jù),對(duì)第一接收模塊102接收的支付包中的支付請(qǐng)求信息根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算得到第二運(yùn)算結(jié)果,判斷解密數(shù)據(jù)是否與第二運(yùn)算結(jié)果相同,是則驗(yàn)證通過(guò),否則驗(yàn)證未通過(guò)。
具體地,上述第三組織模塊,具體用于將第三接收模塊獲取的交易金額和第二存儲(chǔ)模塊保存的電商公鑰地址填到電商的輸出列表中,根據(jù)電商的輸出列表和第一存儲(chǔ)模塊保存的電商證書(shū)組織支付請(qǐng)求信息;
相應(yīng)地,上述第一接收模塊102接收的支付包中的交易金額和電商公鑰地址具體為包括交易金額和電商公鑰地址的電商的輸出列表。
進(jìn)一步地,上述電商服務(wù)器2在包括第三接收模塊、第一存儲(chǔ)模塊、第二存儲(chǔ)模塊、第三組織模塊、第二簽名模塊、第四組織模塊和第二發(fā)送模塊的基礎(chǔ)上還包括:
第一生成模塊,用于生成電商公鑰地址;
相應(yīng)地,上述第二存儲(chǔ)模塊,具體用于保存第一生成模塊生成的電商公鑰地址。
進(jìn)一步地,上述電商服務(wù)器2在包括第三接收模塊、第一存儲(chǔ)模塊、第二存儲(chǔ)模塊、第三組織模塊、第二簽名模塊、第四組織模塊和第二發(fā)送模塊的基礎(chǔ)上還包括:
第二生成模塊,用于生成傳輸?shù)刂罚?/p>
相應(yīng)地,上述第三組織模塊組織的支付請(qǐng)求信息中還包括第二生成模塊生成的傳輸?shù)刂罚?/p>
上述第二發(fā)送模塊,具體用于通過(guò)第二生成模塊生成的傳輸?shù)刂穼⒌谒慕M織模塊組織的支付請(qǐng)求包發(fā)送給數(shù)字貨幣錢(qián)包1;
上述第一發(fā)送模塊112,具體用于從第一接收模塊102接收的支付請(qǐng)求包中獲取傳輸?shù)刂?,通過(guò)傳輸?shù)刂穼⒅Ц栋l(fā)送給電商服務(wù)器2。
具體地,上述第二生成模塊生成的傳輸?shù)刂肪唧w為基于SSL加密的傳輸?shù)刂贰?/p>
可選地,本實(shí)施例上述系統(tǒng)中的數(shù)字貨幣錢(qián)包1還包括第三存儲(chǔ)模塊,用于保存退款地址;
相應(yīng)地,上述第二組織模塊110,具體用于根據(jù)第三存儲(chǔ)模塊保存的退款地址和第一組織模塊109組織的交易信息組織支付包。
進(jìn)一步地,上述數(shù)字貨幣錢(qián)包1在包括第三存儲(chǔ)模塊的基礎(chǔ)上還包括:
第三生成模塊,用于生成退款地址;
相應(yīng)地,上述第三存儲(chǔ)模塊,具體用于保存第三生成模塊生成的退款地址。
可選地,本實(shí)施例上述系統(tǒng)中,第一接收模塊102接收的支付請(qǐng)求包中的支付請(qǐng)求信息中還包括電商的電子證書(shū)信息;
相應(yīng)地,本實(shí)施例上述系統(tǒng)中的數(shù)字貨幣錢(qián)包1還包括:
顯示模塊,用于顯示電商的電子證書(shū)信息;
信息接收模塊,用于當(dāng)顯示模塊顯示電商的電子證書(shū)信息時(shí),接收用戶(hù)輸入的確認(rèn)信息,或接收用戶(hù)輸入的取消信息,或接收超時(shí)信息;
上述交易拒絕模塊105,還用于上述信息接收模塊接收到用戶(hù)輸入的取消信息,或者接收到超時(shí)信息時(shí),結(jié)束交易;
第二獲取模塊106,具體用于當(dāng)?shù)谝或?yàn)證模塊104對(duì)簽名信息的驗(yàn)證結(jié)果為驗(yàn)證通過(guò)時(shí),并且信息接收模塊接收到用戶(hù)輸入的確認(rèn)消息時(shí),獲取具有與交易金額等額貨幣值的交易數(shù)據(jù)、與交易數(shù)據(jù)對(duì)應(yīng)的交易標(biāo)識(shí)以及與交易數(shù)據(jù)對(duì)應(yīng)的保存模塊101保存的數(shù)字貨幣私鑰。
可選地,本實(shí)施例上述系統(tǒng)中的第一簽名模塊108,具體用于對(duì)第二獲取模塊106獲取的交易數(shù)據(jù)和第三獲取模塊107獲取的電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算,得到第三運(yùn)算結(jié)果,使用第二獲取模塊106獲取的數(shù)字貨幣私鑰對(duì)第三運(yùn)算結(jié)果進(jìn)行簽名得到簽名值,簽名結(jié)果中包括第三運(yùn)算結(jié)果和簽名值;
相應(yīng)地,上述第二驗(yàn)證模塊202,具體用于根據(jù)第二接收模塊201接收的支付包中的交易標(biāo)識(shí)找到交易數(shù)據(jù),對(duì)交易數(shù)據(jù)和第二接收模塊201接收的支付包中的電商公鑰地址根據(jù)預(yù)設(shè)算法進(jìn)行運(yùn)算生成第四運(yùn)算結(jié)果;使用第二接收模塊201接收的支付包中的交易信息中的數(shù)字貨幣公鑰對(duì)簽名值進(jìn)行驗(yàn)簽得到驗(yàn)簽數(shù)據(jù),判斷驗(yàn)簽數(shù)據(jù)是否與第四運(yùn)算結(jié)果相等,是則驗(yàn)證通過(guò),否則驗(yàn)證未通過(guò)。
可選地,本實(shí)施例上述系統(tǒng)中的第二獲取模塊106,具體用于當(dāng)?shù)谝或?yàn)證模塊104對(duì)簽名信息驗(yàn)證通過(guò)時(shí),找到具有大于或等于第一接收模塊102接收的支付請(qǐng)求包中的交易金額貨幣值的數(shù)字貨幣公鑰地址,獲取數(shù)字貨幣公鑰地址對(duì)應(yīng)的具有與交易金額等額貨幣值的交易標(biāo)識(shí),根據(jù)交易標(biāo)識(shí)找到交易數(shù)據(jù),并根據(jù)數(shù)字貨幣公鑰地址找到對(duì)應(yīng)的數(shù)字貨幣公鑰,根據(jù)數(shù)字貨幣公鑰找到保存模塊101保存的數(shù)字貨幣私鑰。
可選地,本實(shí)施例上述系統(tǒng)中的判斷模塊204,具體用于判斷在預(yù)設(shè)時(shí)間內(nèi)是否從數(shù)字貨幣網(wǎng)絡(luò)的區(qū)塊鏈數(shù)據(jù)中查找到大于或等于預(yù)設(shè)次數(shù)的與第四獲取模塊203找到的交易信息對(duì)應(yīng)的交易記錄;數(shù)字貨幣網(wǎng)絡(luò)每次對(duì)交易信息驗(yàn)證通過(guò)之后都將交易信息記錄在區(qū)塊鏈數(shù)據(jù)中。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:數(shù)字貨幣錢(qián)包從支付請(qǐng)求信息中獲取電商證書(shū),使用電商證書(shū)對(duì)支付請(qǐng)包中的簽名信息進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)時(shí)才組織交易信息,驗(yàn)證未通過(guò)則拒絕交易,從而提供了安全的支付證明,可以防止電商公鑰地址在傳給付款方時(shí)被惡意的中間人篡改,保證電商公鑰地址不被中間人劫持和偽造,同時(shí)當(dāng)交易雙方產(chǎn)生糾紛時(shí),簽名信息可以當(dāng)做支付證明防止對(duì)方耍賴(lài);電商服務(wù)器接收到支付包時(shí),對(duì)支付包中的簽名結(jié)果進(jìn)行驗(yàn)證,電商服務(wù)器根據(jù)驗(yàn)證結(jié)果就知道交易結(jié)果為成功或失敗,不用等待預(yù)設(shè)時(shí)間后根據(jù)從數(shù)字貨幣網(wǎng)絡(luò)中查找到的對(duì)交易信息的驗(yàn)證通過(guò)信息的次數(shù)確認(rèn)交易是成功還是失敗,從而有效提高了數(shù)字貨幣電子交易的效率。電商服務(wù)器和數(shù)字貨幣錢(qián)包之間的信息傳輸不再是一串不可靠的支付地址,而是數(shù)字貨幣錢(qián)包生成的數(shù)字貨幣錢(qián)包和電商服務(wù)器可以識(shí)別的傳輸?shù)刂?,保證在信息傳遞過(guò)程中不會(huì)外泄;數(shù)字貨幣錢(qián)包發(fā)送給電商服務(wù)器的支付包中包括退款地址,當(dāng)因?yàn)槟承┰螂娚谭?wù)器需要給消費(fèi)者退款時(shí),電商不用很繁瑣的聯(lián)系消費(fèi)者獲取退款地址,提高了退款效率。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。