CN112651835B - 联盟链的交易方法、装置、电子设备及存储介质 - Google Patents
联盟链的交易方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112651835B CN112651835B CN202011615395.8A CN202011615395A CN112651835B CN 112651835 B CN112651835 B CN 112651835B CN 202011615395 A CN202011615395 A CN 202011615395A CN 112651835 B CN112651835 B CN 112651835B
- Authority
- CN
- China
- Prior art keywords
- transaction
- public key
- hash value
- current
- verification
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012795 verification Methods 0.000 claims abstract description 144
- 230000004044 response Effects 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 2
- 238000005336 cracking Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供一种联盟链的交易方法、装置、电子设备及存储介质,涉及区块链技术领域。该本方法在进行交易验证时,通过存储公钥哈希值,采用公钥哈希值进行验证。由于在量子计算发展到一定阶段时,公钥密码体系会被破解,在该条件下,通过公钥验证的方法,则攻击方可通过破解暴漏的公钥得到私钥,伪造用户身份进行不法交易。本方案中,通过公钥哈希值进行验证,在量子计算条件下,哈希计算是相对安全的,即使公钥哈希值暴漏,也不会被破解得到公钥,从而避免攻击方通过破解公钥得到私钥,进行非法交易。另外,每次交易中均使用在上次交易时所生成的新的公私钥、以及新的公钥哈希值,实现一次一密的交易方式,从而提高了交易的安全性。
Description
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种联盟链的交易方法、装置、电子设备及存储介质。
背景技术
联盟链是区块链的一种形式,主要针对特定某个群体的成员和有限的第三方,内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定。为了获得更好的性能,联盟链对于共识或验证节点的配置和网络环境有一定要求。有了准入机制,可以使得交易性能更容易提高。
目前,联盟链在进行交易验证时,是完全依赖于公钥密码(非对称加密)体系,采用交易成员的私钥进行交易签名,并采用公钥进行交易进行验证,成员的公钥是作为公共知识被提前公开的。
但当量子计算发展到一定阶段时,公钥密码体系会被破解,由于成员的公钥是暴漏的,使得攻击方可通过成员公钥破解得到成员私钥,从而伪装成员身份进行不法交易,对成员的交易安全造成威胁。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种联盟链的交易方法、装置、电子设备及存储介质,以便于解决现有技术中存在的量子计算下联盟链交易安全性较差的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种联盟链的交易方法,包括:
响应用户的交易指示,确定本次交易的公钥和私钥;
根据所述本次交易的私钥得到本次交易的签名信息;
根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成所述下次交易的公钥哈希值;
向联盟链发送交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
接收所述联盟链发送的交易响应,所述交易响应用于指示本次交易是否成功。
可选地,所述响应用户的交易指示,确定本次交易的公钥和私钥,包括:
基于所述原始公钥、所述原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥。
可选地,所述基于所述原始公钥、所述原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥,包括:
基于参考密钥以及本次交易的交易标识,确定本次交易的公钥,所述参考密钥包括:所述原始公钥或所述原始私钥;
基于所述原始私钥以及本次交易的交易标识,确定本次交易的私钥。
可选地,所述根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成所述下次交易的公钥哈希值,包括:
基于所述原始公钥、所述原始私钥以及所述下次交易的交易标识,生成所述下次交易的公钥和私钥;
对所述下次交易的公钥进行哈希计算,得到所述下次交易的公钥哈希值。
第二方面,本申请实施例还提供了一种联盟链的交易方法,包括:
接收客户端发送的交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
根据所述用户的标识,从数据库中读取本次交易对应的公钥哈希值;
根据从数据库读取的所述公钥哈希值、所述交易请求中的所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行交易验证,得到交易验证结果;
若所述交易验证结果为验证成功,则将所述下次交易的公钥哈希值保存至所述数据库,并向所述客户端发送指示本次交易成功的交易响应。
可选地,所述根据从数据库读取的公钥哈希值、所述交易请求中的所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行交易验证,得到交易验证结果,包括:
对所述本次交易的公钥进行哈希计算,得到待验证公钥哈希值;
确定所述待验证公钥哈希值与从数据库读取的公钥哈希值是否相同,得到第一验证结果;
根据所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行密钥验证,得到第二验证结果;
若所述第一验证结果为相同,且,所述第二验证结果为验证通过,则确定所述交易验证结果为验证成功。
可选地,所述方法还包括:
若所述交易验证结果为验证成功,则将所述本次交易的交易信息保存至所述数据库,所述交易信息包括:所述业务数据、本次交易的签名信息以及本次交易的公钥。
第三方面,本申请实施例还提供了一种联盟链的交易装置,包括:确定模块、获取模块、生成模块、发送模块、接收模块;
所述确定模块,用于响应用户的交易指示,确定本次交易的公钥和私钥;
所述获取模块,用于根据所述本次交易的私钥得到本次交易的签名信息;
所述生成模块,用于根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成所述下次交易的公钥哈希值;
所述发送模块,用于向联盟链发送交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
所述接收模块,用于接收所述联盟链发送的交易响应,所述交易响应用于指示本次交易是否成功。
可选地,所述确定模块,具体用于基于所述原始公钥、所述原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥。
可选地,所述确定模块,具体用于基于参考密钥以及本次交易的交易标识,确定本次交易的公钥,所述参考密钥包括:所述原始公钥或所述原始私钥;基于所述原始私钥以及本次交易的交易标识,确定本次交易的私钥。
可选地,所述生成模块,具体用于基于所述原始公钥、所述原始私钥以及所述下次交易的交易标识,生成所述下次交易的公钥和私钥;对所述下次交易的公钥进行哈希计算,得到所述下次交易的公钥哈希值。
第四方面,本申请实施例还提供了一种联盟链的交易装置,包括:接收模块、读取模块、验证模块、发送模块;
所述接收模块,用于接收客户端发送的交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
所述读取模块,用于根据所述用户的标识,从数据库中读取本次交易对应的公钥哈希值;
所述验证模块,用于根据从数据库读取的所述公钥哈希值、所述交易请求中的所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行交易验证,得到交易验证结果;
所述发送模块,用于若所述交易验证结果为验证成功,则将所述下次交易的公钥哈希值保存至所述数据库,并向所述客户端发送指示本次交易成功的交易响应。
可选地,所述验证模块,具体用于对所述本次交易的公钥进行哈希计算,得到待验证公钥哈希值;确定所述待验证公钥哈希值与从数据库读取的公钥哈希值是否相同,得到第一验证结果;根据所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行密钥验证,得到第二验证结果;若所述第一验证结果为相同,且,所述第二验证结果为验证通过,则确定所述交易验证结果为验证成功。
可选地,所述装置还包括:保存模块;
所述保存模块,用于若所述交易验证结果为验证成功,则将所述本次交易的交易信息保存至所述数据库,所述交易信息包括:所述业务数据、本次交易的签名信息以及本次交易的公钥。
第五方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第一方面或第二方面中提供的联盟链的交易方法的步骤。
第六方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面或第二方面提供的联盟链的交易方法的步骤。
本申请的有益效果是:
本申请提供一种联盟链的交易方法、装置、电子设备及存储介质,包括:响应用户的交易指示,确定本次交易的公钥和私钥;根据本次交易的私钥得到本次交易的签名信息;根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成下次交易的公钥哈希值;向联盟链发送交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;接收客户端发送的交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;根据用户的标识,从数据库中读取本次交易对应的公钥哈希值;根据从数据库读取的公钥哈希值、交易请求中的本次交易的公钥、交易数据以及本次交易的签名信息,进行交易验证,得到交易验证结果;若交易验证结果为验证成功,则将下次交易的公钥哈希值保存至数据库,并向客户端发送指示本次交易成功的交易响应;接收联盟链发送的交易响应,交易响应用于指示本次交易是否成功。本方案中,在进行交易验证时,可根据交易请求中的用户的标识,从数据库中获取本次交易的公钥哈希值进行交易验证,相比于现有中采用公钥进行验证,需要预先存储公钥,本方法替换为存储公钥哈希值,根据公钥哈希值进行验证。由于在量子计算发展到一定阶段时,公钥密码体系是会被破解的,在这种前提条件下,通过公钥验证的方法,由于公钥是暴漏在外的,则攻击方很容易通过公钥破解得到私钥,从而伪造用户的身份进行不法交易。而本方案中,通过公钥哈希值进行验证,可以有效避免将公钥暴漏,而在量子计算条件下,哈希计算依然是相对安全的,那么,即使公钥哈希值是暴漏的,也不会被破解得到公钥,从而避免了攻击方通过破解公钥得到私钥,伪装用户的身份进行交易,进而提高了交易的安全性。另外,每次交易中均使用在上次交易时所生成的新的公私钥、以及新的公钥哈希值,实现一次一密的交易方式,从而可进一步地提高交易的安全性。
另外,每次交易的公钥和私钥均是从原始私钥和原始公钥中派生得到的,客户端依然只需要保护原始公钥和原始私钥即可,无需存储每次交易所要使用的新的公钥和私钥,从而在提高交易安全性的同时,也确保了交易系统的易用性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种联盟链的交易系统架构示意图;
图2为本申请实施例提供的一种联盟链的交易方法的流程示意图;
图3为本申请实施例提供的另一种联盟链的交易方法的流程示意图;
图4为本申请实施例提供的又一种联盟链的交易方法的流程示意图;
图5为本申请实施例提供的另一种联盟链的交易方法的流程示意图;
图6为本申请实施例提供的一种联盟链的交易装置的示意图;
图7为本申请实施例提供的另一种联盟链的交易装置的示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
图1为本申请实施例提供的一种联盟链的交易系统架构示意图;本申请以下各实施例中所描述的联盟链的交易方法可应用于该联盟链的交易系统中。如图1所示,该交易系统可包括:至少一个客户端和联盟链,联盟链可由多个节点构成,各节点可对应一个服务器,各客户端可采用本次交易对应的成员私钥对待发起的交易请求进行签名,向联盟链发起签名后的交易请求,以请求交易,联盟链可通过获取的本次交易对应的公钥哈希值对所接收的签名后的交易请求进行验证,并在验证通过后,将交易请求的交易数据持久化存储,各节点完成交易共识。而若验证失败,则向客户端响应交易失败。通过使用本次交易对应的私钥进行签名,并使用本次交易对应的公钥哈希值进行交易验证,可避免公钥的暴漏,且每次交易都使用新的私钥和新的公钥哈希值,实现一次一密的交易方式,可以有效提高交易的安全性。
如下将通过具体的实施例对本申请的联盟链的交易方法进行详细说明。
图2为本申请实施例提供的一种联盟链的交易方法的流程示意图,该方法的执行主体可以是上述交易系统中的客户端或联盟链。该方法可包括:
S201、响应用户的交易指示,确定本次交易的公钥和私钥。
可选地,客户端可以是安装于用户终端上的,也可以是设置于实际业务场景中的。例如:可以是安装于用户终端上的掌上营业厅,也可以是安置于银行中的自动取款机。用户可通过客户端发起交易,响应用户的交易信息,可确定用户本次交易的公钥和私钥。其中私钥可用于对交易进行签名,公钥可用于对交易进行验签,通过对交易进行签名和验签,可确定发起交易的用户身份,确保交易的安全性。
S202、根据本次交易的私钥得到本次交易的签名信息。
可选地,可根据本次交易的私钥,采用预设的签名算法,计算本次交易的签名信息。其中,对交易进行签名的目的是为了后续联盟链对交易请求的交易数据进行验签,确保交易确实是由用户发起的。
计算签名可以是对交易数据进行签名,其中,可采用签名算法sig=Sign(sk,data),sig指签名信息,sk指本次交易的私钥,data指交易数据,Sign为签名算法。
S203、根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成下次交易的公钥哈希值。
在一些实施例中,在根据本次交易的私钥计算签名信息后,可在本次交易中生成下次交易的公钥和私钥,其中,下次交易可以指同一用户在客户端发起本次交易,完成交易之后,再发起的下一次交易。
可选地,可基于所生成的下次交易的公钥,采用预设的哈希计算方法,生成下次交易的公钥哈希值。其中,所生成的下次交易的公钥和私钥、以及下次交易的公钥哈希值可用于在下次交易中对用户所发起的交易请求进行签名和验签。
通过在本次交易中生成下次交易的公钥和私钥,以及下次交易的公钥哈希值,以使得每次交易都使用新的公钥和私钥、以及新的公钥哈希值进行交易签名和验签,实现了交易的一次一密,避免了公私钥泄露所带来的交易安全性问题。
S204、向联盟链发送交易请求。
其中,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识。
可选地,客户端可将用户发起的交易指示所对应的交易请求发送至联盟链,以执行交易。其中,交易请求中的交易数据可以包括业务数据和用户的标识。业务数据可以指用户所指示的业务数据,例如:用户通过发起交易从银行取钱,业务数据可以为所取的金额。用户的标识可以指用户的身份证信息、手机号信息等。交易数据可以是通过将业务数据和用户的标识拼接得到的。例如:data=id||raw,id表示用户的标识,raw表示业务数据,data表示交易数据。
可选地,可将交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值打包成交易请求发送给联盟链。
S206、接收客户端发送的交易请求。
其中,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识。
可选地,联盟链可接收客户端发送的交易请求,其中,交易请求所包含的数据已在上述进行了说明。
S207、根据用户的标识,从数据库中读取本次交易对应的公钥哈希值。
联盟链可对所接收的交易请求进行验证。在一种可实现的方式中,联盟链可解包所接收的交易请求,从中获取用户的标识,并根据用户的标识从数据库中查询本次交易对应的公钥哈希值。
需要说明的是,联盟链的数据库中会预先存储有用户的标识和公钥哈希值,其中,用户的标识和公钥哈希值可以是以键值对的形式存储。从而使得可根据从交易请求中获取的用户的标识,从数据库中查询得到本次交易的公钥哈希值。
值得说明的是,本方法中,数据库中预先存储的公钥哈希值为本次交易的公钥哈希值,而在本次交易验证通过后,会将本次交易请求中所携带的下次交易的公钥哈希值存储至数据库中,以替换之前所存储的公钥哈希值,而所存储的下次交易的公钥哈希值则在下次交易中使用,从而实现一次交易对应一组新的公私钥,提高交易的安全性。
S208、根据从数据库读取的公钥哈希值、交易请求中的本次交易的公钥、交易数据以及本次交易的签名信息,进行交易验证,得到交易验证结果。
可选地,在进行交易验证时,可先基于从交易请求中所获取的本次交易的公钥、以及数据库中读取的公钥哈希值,验证本次交易的公钥的准确性,以确保本次交易的公钥确实为发起交易的用户所有。进一步地,可基于验证后的本次交易的公钥,对本次交易的签名信息进行验证,得到交易结果。
本方案中,通过在数据库中预先存储公钥哈希值,在进行交易验证时,通过公钥哈希值进行验证,而非如现有方法中通过公钥进行验证,由于在量子计算发展到一定阶段时,公钥密码体系是会被破解的,在这种前提条件下,通过公钥验证的方法,由于公钥是暴漏在外的,则攻击方很容易通过公钥破解得到私钥,从而伪造用户的身份进行不法交易。而本方案中,通过公钥哈希值进行验证,可以有效避免将公钥暴漏,而在量子计算条件下,哈希计算依然是相对安全的,那么,即使公钥哈希值是暴漏的,也不会被破解得到公钥,从而避免了攻击方通过破解公钥得到私钥,伪装用户的身份进行交易。且通过公钥哈希值是无法迅速的逆推出公钥的,一定程度上可保证交易的安全性。
S209、若交易验证结果为验证成功,则将下次交易的公钥哈希值保存至数据库。
在交易验证成功时,可将本次交易请求中所携带的下次交易的公钥哈希值保存至数据库中,以在下次交易中使用。而在交易失败时,不存储下次交易的公钥哈希值。
S210、向客户端发送指示本次交易成功的交易响应。
可选地,若验证成功,则可向客户端发送交易成功的交易响应,以使得客户端获取交易结果。而若验证结果为验证失败,则可向客户端发送指示本次交易失败的交易响应,从而使得用户重新发起交易。
需要说明的是,在交易验证结果为验证成功后,将下次交易的公钥哈希值保存至数据库和向客户端发送指示本次交易成功的交易响应两个步骤可以是并列执行的。
S211、接收联盟链发送的交易响应,交易响应用于指示本次交易是否成功。
可选地,客户端可接收联盟链发送的交易响应,获取交易结果,交易结果也即包括:交易成功或交易失败。
综上,本实施例提供的联盟链的交易方法,包括:响应用户的交易指示,确定本次交易的公钥和私钥;根据本次交易的私钥得到本次交易的签名信息;根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成下次交易的公钥哈希值;向联盟链发送交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;接收客户端发送的交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;根据用户的标识,从数据库中读取本次交易对应的公钥哈希值;根据从数据库读取的公钥哈希值、交易请求中的本次交易的公钥、交易数据以及本次交易的签名信息,进行交易验证,得到交易验证结果;若交易验证结果为验证成功,则将下次交易的公钥哈希值保存至数据库,并向客户端发送指示本次交易成功的交易响应;接收联盟链发送的交易响应,交易响应用于指示本次交易是否成功。本方案中,在进行交易验证时,可根据交易请求中的用户的标识,从数据库中获取本次交易的公钥哈希值进行交易验证,相比于现有中采用预先存储的公钥进行验证,需要预先存储公钥,本方法替换为存储公钥哈希值,根据公钥哈希值进行验证,可以有效避免对公钥的暴漏,从而提高了交易的安全性。另外,每次交易中均使用在上次交易时所生成的新的公私钥、以及新的公钥哈希值,实现一次一密的交易方式,从而可进一步地提高交易的安全性。
可选地,步骤S201中,响应用户的交易指示,确定本次交易的公钥和私钥,可以包括:基于原始公钥、原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥。
可选地,当本次交易为用户发起的第一次交易时,则本次交易的公钥和私钥则为原始公钥和原始私钥。而当本次交易为非第一次交易,也即,为第二次、第三次依此类推的其他次交易时,则本次交易的公钥和私钥可以是根据原始公钥和原始私钥派生得到的,也即,是通过原始公钥和原始私钥计算得到的,这样,可以有效避免在一次一密的交易方式中,产生海量的私钥和公钥所带来的公私钥管理问题,同时可保证联盟链交易系统的易用性。
图3为本申请实施例提供的另一种联盟链的交易方法的流程示意图,可选地,上述步骤中,基于原始公钥、原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥,可以包括:
S301、基于参考密钥以及本次交易的交易标识,确定本次交易的公钥,参考密钥包括:原始公钥或原始私钥。
在一种可实现的方式中,当本次交易为非第一次交易时,本次交易的公钥既可以根据原始公钥生成,也可以根据原始私钥生成。
本次交易的交易标识可以用于指示本次交易的交易次序,例如:标识本次交易为第二次交易、或第三次交易、第N次交易等。
可基于原始公钥或原始私钥,根据本次交易的交易标识,派生生成本次交易的公钥。
可选地,可采用派生函数pki=pub2pub(pk,i)或者pki=priv2pub(sk,i),计算得到本次交易的公钥,其中,pk指的是原始公钥,sk指的是原始私钥,i指的是本次交易的交易标识,pki指的是派生得到的本次交易的公钥。
对于上述派生函数的具体实现,可参照BIP32进行理解,它的特性是不可能从派生出来的公钥或者私钥反推出原始私钥或者原始公钥。由于每次交易的公钥和私钥均是从原始私钥和原始公钥中派生得到的,客户端依然只需要保护原始公钥和原始私钥即可,无需存储每次交易所要使用的新的公钥和私钥,从而在提高交易安全性的同时,也确保了交易系统的易用性。
S302、基于原始私钥以及本次交易的交易标识,确定本次交易的私钥。
而对于本次交易的私钥,则可根据原始私钥生成,具体的生成方式可参考上述公钥的生成方式进行理解,此处不再一一赘述。
图4为本申请实施例提供的又一种联盟链的交易方法的流程示意图,可选地,步骤S203中根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成下次交易的公钥哈希值,可以包括:
S401、基于原始公钥、原始私钥以及下次交易的交易标识,生成下次交易的公钥和私钥。
由于下次交易为非第一次交易,那么,下次交易的公钥和私钥则是需要根据原始公钥、原始私钥生成,而具体的生成方式则可参考步骤S301中所描述的进行理解。
S402、对下次交易的公钥进行哈希计算,得到下次交易的公钥哈希值。
当得到下次交易的公钥后,还可通过哈希计算,计算下次交易的公钥哈希值,下次交易的公钥哈希值可在下次交易中对交易签名进行验证。
图5为本申请实施例提供的另一种联盟链的交易方法的流程示意图,可选地,步骤S208中,根据从数据库读取的公钥哈希值、交易请求中的本次交易的公钥、交易数据以及本次交易的签名信息,进行交易验证,得到交易验证结果,可以包括:
S501、对本次交易的公钥进行哈希计算,得到待验证公钥哈希值。
可选地,可根据接收的交易请求中所包括的本次交易的公钥,进行哈希计算,得到待验证公钥哈希值。虽然交易请求中包括有本次交易的公钥,但是其仅在发起交易时才会暴漏,且在本次交易完成后将失效,那么,即时公钥存在短暂暴漏,交易的安全性依然能够得到保证。
S502、确定待验证公钥哈希值与从数据库读取的公钥哈希值是否相同,得到第一验证结果。
可选地,可将计算得到的待验证公钥哈希值与从数据库中根据用户的标识所读取的本次交易的公钥哈希值进行比对,确定第一验证结果,第一验证结果用于标识用户的身份信息是否准确。
S503、根据本次交易的公钥、交易数据以及本次交易的签名信息,进行密钥验证,得到第二验证结果。
可选地,再基于本次交易的公钥对接收的交易请求的签名信息进行验签,验证交易的合法性,具体可通过调用预设的验签函数,通过本次交易的公钥进行验签。第二验证结果用于标识交易的合法性。
S504、若第一验证结果为相同,且,第二验证结果为验证通过,则确定交易验证结果为验证成功。
可选地,当待验证公钥哈希值与从数据库中读取的本次交易的公钥哈希值相同时,获取第一验证结果为验证成功,可确定交易请求中的本次交易的公钥为准确的,确实为该用户对应的公钥,从而可基于验证通过的本次交易的公钥,对交易请求的签名信息进行验签,若第二验证结果也为通过,则确定交易成功。
可选地,本申请的方法还可包括:若交易验证结果为验证成功,则将本次交易的交易信息保存至数据库,交易信息包括:业务数据、本次交易的签名信息以及本次交易的公钥。
可选地,当交易验证成功后,则可将本次交易请求的交易信息存储至数据库中,其中,可包括将本次交易请求中所包括的业务数据、本次交易的签名信息和本次交易的公钥均进行存储,让所有节点达成共识。
综上,本实施例提供的联盟链的交易方法,包括:响应用户的交易指示,确定本次交易的公钥和私钥;根据本次交易的私钥得到本次交易的签名信息;根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成下次交易的公钥哈希值;向联盟链发送交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;接收客户端发送的交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;根据用户的标识,从数据库中读取本次交易对应的公钥哈希值;根据从数据库读取的公钥哈希值、交易请求中的本次交易的公钥、交易数据以及本次交易的签名信息,进行交易验证,得到交易验证结果;若交易验证结果为验证成功,则将下次交易的公钥哈希值保存至数据库,并向客户端发送指示本次交易成功的交易响应;接收联盟链发送的交易响应,交易响应用于指示本次交易是否成功。本方案中,在进行交易验证时,可根据交易请求中的用户的标识,从数据库中获取本次交易的公钥哈希值进行交易验证,相比于现有中采用预先存储的公钥进行验证,需要预先存储公钥,本方法替换为存储公钥哈希值,根据公钥哈希值进行验证。由于在量子计算发展到一定阶段时,公钥密码体系是会被破解的,在这种前提条件下,通过公钥验证的方法,由于公钥是暴漏在外的,则攻击方很容易通过公钥破解得到私钥,从而伪造用户的身份进行不法交易。而本方案中,通过公钥哈希值进行验证,可以有效避免将公钥暴漏,而在量子计算条件下,哈希计算依然是相对安全的,那么,即使公钥哈希值是暴漏的,也不会被破解得到公钥,从而避免了攻击方通过破解公钥得到私钥,伪装用户的身份进行交易,进而提高了交易的安全性。
另外,每次交易的公钥和私钥均是从原始私钥和原始公钥中派生得到的,客户端依然只需要保护原始公钥和原始私钥即可,无需存储每次交易所要使用的新的公钥和私钥,从而在提高交易安全性的同时,也确保了交易系统的易用性。
下述对用以执行本申请所提供的联盟链的交易方法的装置、电子设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图6为本申请实施例提供的一种联盟链的交易装置的示意图,该联盟链的交易装置实现的功能对应上述客户端所执行的方法的步骤。该装置可以理解为上述的客户端。如图6所示,该装置可包括:确定模块610、获取模块620、生成模块630、发送模块640、接收模块650;
确定模块610,用于响应用户的交易指示,确定本次交易的公钥和私钥;
获取模块620,用于根据本次交易的私钥得到本次交易的签名信息;
生成模块630,用于根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成下次交易的公钥哈希值;
发送模块640,用于向联盟链发送交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;
接收模块650,用于接收联盟链发送的交易响应,交易响应用于指示本次交易是否成功。
可选地,确定模块610,具体用于基于原始公钥、原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥。
可选地,确定模块610,具体用于基于参考密钥以及本次交易的交易标识,确定本次交易的公钥,参考密钥包括:原始公钥或原始私钥;基于原始私钥以及本次交易的交易标识,确定本次交易的私钥。
可选地,生成模块630,具体用于基于原始公钥、原始私钥以及下次交易的交易标识,生成下次交易的公钥和私钥;对下次交易的公钥进行哈希计算,得到下次交易的公钥哈希值。
图7为本申请实施例提供的另一种联盟链的交易装置的示意图,该联盟链的交易装置实现的功能对应上述联盟链所执行的方法的步骤。该装置可以理解为上述的联盟链。如图7所示,该装置可包括:接收模块710、读取模块720、验证模块730、发送模块740;
接收模块710,用于接收客户端发送的交易请求,交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,交易数据包括:用户指示的业务数据以及用户的标识;
读取模块720,用于根据用户的标识,从数据库中读取本次交易对应的公钥哈希值;
验证模块730,用于根据从数据库读取的公钥哈希值、交易请求中的本次交易的公钥、交易数据以及本次交易的签名信息,进行交易验证,得到交易验证结果;
发送模块740,用于若交易验证结果为验证成功,则将下次交易的公钥哈希值保存至数据库,并向客户端发送指示本次交易成功的交易响应。
可选地,验证模块730,具体用于对本次交易的公钥进行哈希计算,得到待验证公钥哈希值;确定待验证公钥哈希值与从数据库读取的公钥哈希值是否相同,得到第一验证结果;根据本次交易的公钥、交易数据以及本次交易的签名信息,进行密钥验证,得到第二验证结果;若第一验证结果为相同,且,第二验证结果为验证通过,则确定交易验证结果为验证成功。
可选地,该装置还包括:保存模块;
保存模块,用于若交易验证结果为验证成功,则将本次交易的交易信息保存至数据库,交易信息包括:业务数据、本次交易的签名信息以及本次交易的公钥。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。
需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-chip,简称SOC)的形式实现。
图8为本申请实施例提供的一种电子设备的结构示意图,该设备可以是具备数据处理功能的计算设备。
该设备可包括:处理器801、存储器802。
存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
其中,存储器802存储有程序代码,当程序代码被处理器801执行时,使得处理器801执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的联盟链的交易方法中的各种步骤。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (11)
1.一种联盟链的交易方法,其特征在于,包括:
响应用户的交易指示,确定本次交易的公钥和私钥;
根据所述本次交易的私钥得到本次交易的签名信息;
根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成所述下次交易的公钥哈希值;
向联盟链发送交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
接收所述联盟链发送的交易响应,所述交易响应用于指示本次交易是否成功。
2.根据权利要求1所述的方法,其特征在于,所述响应用户的交易指示,确定本次交易的公钥和私钥,包括:
基于所述原始公钥、所述原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥。
3.根据权利要求2所述的方法,其特征在于,所述基于所述原始公钥、所述原始私钥以及本次交易的交易标识,确定本次交易的公钥和私钥,包括:
基于参考密钥以及本次交易的交易标识,确定本次交易的公钥,所述参考密钥包括:所述原始公钥或所述原始私钥;
基于所述原始私钥以及本次交易的交易标识,确定本次交易的私钥。
4.根据权利要求1-3任一所述的方法,其特征在于,所述根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成所述下次交易的公钥哈希值,包括:
基于所述原始公钥、所述原始私钥以及所述下次交易的交易标识,生成所述下次交易的公钥和私钥;
对所述下次交易的公钥进行哈希计算,得到所述下次交易的公钥哈希值。
5.一种联盟链的交易方法,其特征在于,包括:
接收客户端发送的交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
根据所述用户的标识,从数据库中读取本次交易对应的公钥哈希值;
根据从数据库读取的所述公钥哈希值、所述交易请求中的所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行交易验证,得到交易验证结果;
若所述交易验证结果为验证成功,则将所述下次交易的公钥哈希值保存至所述数据库,并向所述客户端发送指示本次交易成功的交易响应。
6.根据权利要求5所述的方法,其特征在于,所述根据从数据库读取的公钥哈希值、所述交易请求中的所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行交易验证,得到交易验证结果,包括:
对所述本次交易的公钥进行哈希计算,得到待验证公钥哈希值;
确定所述待验证公钥哈希值与从数据库读取的公钥哈希值是否相同,得到第一验证结果;
根据所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行密钥验证,得到第二验证结果;
若所述第一验证结果为相同,且,所述第二验证结果为验证通过,则确定所述交易验证结果为验证成功。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
若所述交易验证结果为验证成功,则将所述本次交易的交易信息保存至所述数据库,所述交易信息包括:所述业务数据、本次交易的签名信息以及本次交易的公钥。
8.一种联盟链的交易装置,其特征在于,包括:确定模块、获取模块、生成模块、发送模块、接收模块;
所述确定模块,用于响应用户的交易指示,确定本次交易的公钥和私钥;
所述获取模块,用于根据所述本次交易的私钥得到本次交易的签名信息;
所述生成模块,用于根据原始公钥和原始私钥,在本次交易中生成下次交易的公钥和私钥,并生成所述下次交易的公钥哈希值;
所述发送模块,用于向联盟链发送交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
所述接收模块,用于接收所述联盟链发送的交易响应,所述交易响应用于指示本次交易是否成功。
9.一种联盟链的交易装置,其特征在于,包括:接收模块、读取模块、验证模块、发送模块;
所述接收模块,用于接收客户端发送的交易请求,所述交易请求中包括:交易数据、本次交易的签名信息、本次交易的公钥以及下次交易的公钥哈希值,所述交易数据包括:用户指示的业务数据以及用户的标识;
所述读取模块,用于根据所述用户的标识,从数据库中读取本次交易对应的公钥哈希值;
所述验证模块,用于根据从数据库读取的所述公钥哈希值、所述交易请求中的所述本次交易的公钥、所述交易数据以及所述本次交易的签名信息,进行交易验证,得到交易验证结果;
所述发送模块,用于若所述交易验证结果为验证成功,则将所述下次交易的公钥哈希值保存至所述数据库,并向所述客户端发送指示本次交易成功的交易响应。
10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1-4或5-7任一所述的联盟链的交易方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述的联盟链的交易方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011615395.8A CN112651835B (zh) | 2020-12-30 | 2020-12-30 | 联盟链的交易方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011615395.8A CN112651835B (zh) | 2020-12-30 | 2020-12-30 | 联盟链的交易方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112651835A CN112651835A (zh) | 2021-04-13 |
CN112651835B true CN112651835B (zh) | 2023-05-23 |
Family
ID=75364383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011615395.8A Active CN112651835B (zh) | 2020-12-30 | 2020-12-30 | 联盟链的交易方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112651835B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411503A (zh) * | 2016-11-28 | 2017-02-15 | 中国银行股份有限公司 | 区块链投票记账模式的记账方法及系统、投票及记账节点 |
CN107038578A (zh) * | 2017-04-19 | 2017-08-11 | 浙江数秦科技有限公司 | 基于区块链的数据交易平台中多重签名交易信息处理方法 |
KR101773073B1 (ko) * | 2016-04-28 | 2017-08-31 | 주식회사 코인플러그 | 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버 |
JP2018516030A (ja) * | 2015-05-05 | 2018-06-14 | ショカード、インコーポレイテッド | ブロックチェーンを使用するid管理サービス |
CN109472696A (zh) * | 2018-09-29 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 资产交易方法、装置、存储介质及计算机设备 |
CN109672518A (zh) * | 2019-03-02 | 2019-04-23 | 西安邮电大学 | 抗量子攻击的区块链的节点数据处理 |
CN110069939A (zh) * | 2019-03-12 | 2019-07-30 | 平安科技(深圳)有限公司 | 加密数据一致性校验方法、装置、计算机设备及存储介质 |
CN110493005A (zh) * | 2019-08-09 | 2019-11-22 | 如般量子科技有限公司 | 基于联盟链的抗量子计算公钥池更新方法和系统 |
CN110708269A (zh) * | 2018-07-10 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 区块链数据传输方法、区块链节点和计算机可读存储介质 |
CN110798322A (zh) * | 2019-11-15 | 2020-02-14 | 神州融安科技(北京)有限公司 | 一种操作请求方法、装置、存储介质及处理器 |
CN111275419A (zh) * | 2020-01-17 | 2020-06-12 | 上海佩俪信息科技有限公司 | 一种区块链钱包签名确权方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101661930B1 (ko) * | 2015-08-03 | 2016-10-05 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템 |
US10992649B2 (en) * | 2016-04-01 | 2021-04-27 | Consensys Software Inc. | Systems and methods for privacy in distributed ledger transactions |
JP7328969B2 (ja) * | 2018-12-21 | 2023-08-17 | 01 コミュニーク ラボラトリー インコーポレイテッド | 暗号システムおよび方法 |
CN110785783B (zh) * | 2019-03-04 | 2024-03-26 | 创新先进技术有限公司 | 对用于区块链系统的签名验证进行测试的方法和设备 |
-
2020
- 2020-12-30 CN CN202011615395.8A patent/CN112651835B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018516030A (ja) * | 2015-05-05 | 2018-06-14 | ショカード、インコーポレイテッド | ブロックチェーンを使用するid管理サービス |
KR101773073B1 (ko) * | 2016-04-28 | 2017-08-31 | 주식회사 코인플러그 | 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버 |
CN106411503A (zh) * | 2016-11-28 | 2017-02-15 | 中国银行股份有限公司 | 区块链投票记账模式的记账方法及系统、投票及记账节点 |
CN107038578A (zh) * | 2017-04-19 | 2017-08-11 | 浙江数秦科技有限公司 | 基于区块链的数据交易平台中多重签名交易信息处理方法 |
CN110708269A (zh) * | 2018-07-10 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 区块链数据传输方法、区块链节点和计算机可读存储介质 |
CN109472696A (zh) * | 2018-09-29 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 资产交易方法、装置、存储介质及计算机设备 |
CN109672518A (zh) * | 2019-03-02 | 2019-04-23 | 西安邮电大学 | 抗量子攻击的区块链的节点数据处理 |
CN110069939A (zh) * | 2019-03-12 | 2019-07-30 | 平安科技(深圳)有限公司 | 加密数据一致性校验方法、装置、计算机设备及存储介质 |
CN110493005A (zh) * | 2019-08-09 | 2019-11-22 | 如般量子科技有限公司 | 基于联盟链的抗量子计算公钥池更新方法和系统 |
CN110798322A (zh) * | 2019-11-15 | 2020-02-14 | 神州融安科技(北京)有限公司 | 一种操作请求方法、装置、存储介质及处理器 |
CN111275419A (zh) * | 2020-01-17 | 2020-06-12 | 上海佩俪信息科技有限公司 | 一种区块链钱包签名确权方法、装置及系统 |
Non-Patent Citations (7)
Title |
---|
Analyze encryption and public key infrastructure (PKI);Vincent Lozupone;《 International Journal of Information Management》;第38卷(第1期);第42-44页 * |
Blockchain: Future of financial and cyber security;Sachchidanand Singh, 等;《2016 2nd International Conference on Contemporary Computing and Informatics (IC3I)》;第463-467页 * |
Towards Post-Quantum Blockchain: A Review on Blockchain Cryptography Resistant to Quantum Computing Attacks;Tiago M. Fernández-Caramès, 等;《IEEE Access》;第8卷;第21091 - 21116页 * |
区块链身份隐私和数据隐私保护机制研究;陈轩;《中国优秀硕士学位论文全文数据库信息科技辑》(第9期);第I138-74页 * |
基于区块链的匿名密码货币支付协议;张键红, 等;《山东大学学报(理学版)》;第54卷(第1期);第88-95页 * |
指定验证者签密研究及其应用;李元晓;《中国优秀硕士学位论文全文数据库信息科技辑》(第6期);第I138-69页 * |
陈轩.区块链身份隐私和数据隐私保护机制研究.《中国优秀硕士学位论文全文数据库信息科技辑》.2019,(第9期),第I138-74页. * |
Also Published As
Publication number | Publication date |
---|---|
CN112651835A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102493744B1 (ko) | 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버 | |
CN109067791B (zh) | 网络中用户身份认证方法和装置 | |
US10484345B2 (en) | System and method for identity verification across mobile applications | |
WO2021046668A1 (zh) | 区块链系统及信息传输方法、系统、装置、计算机介质 | |
KR100823738B1 (ko) | 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법 | |
CN113572715B (zh) | 基于区块链的数据传输方法和系统 | |
CN106529952B (zh) | 数据转移中的验证实现方法及系统 | |
WO2017143757A1 (zh) | 云计算平台的可信度量方法和装置 | |
CN111865889B (zh) | 登录请求处理方法、系统、装置、电子设备及存储介质 | |
CN110020869B (zh) | 用于生成区块链授权信息的方法、装置及系统 | |
JP2008519303A (ja) | 双線形アプリケーションの計算の安全化された委託方法 | |
KR101818601B1 (ko) | 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버 | |
CN108449322B (zh) | 身份注册、认证方法、系统及相关设备 | |
EP3133791A1 (en) | Double authentication system for electronically signed documents | |
CN113329004B (zh) | 一种认证方法、系统及装置 | |
CN114760114A (zh) | 身份认证方法、装置、设备及介质 | |
CN111814193B (zh) | 一种信息共享方法、装置及设备 | |
CN112651835B (zh) | 联盟链的交易方法、装置、电子设备及存储介质 | |
CN115664669B (zh) | 金融设备认证方法、取款机、外接设备及存储介质 | |
CN115514492A (zh) | Bios固件验证方法、装置、服务器、存储介质和程序产品 | |
CN113572717B (zh) | 通信连接的建立方法、洗护设备及服务器 | |
CN114443304A (zh) | 云计算平台的安全认证方法、装置和计算机可读存储介质 | |
CN112865981A (zh) | 一种令牌获取、验证方法及装置 | |
JP2005504349A (ja) | 電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法 | |
CN110766407A (zh) | 基于区块链的交易验证方法、记账节点及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231012 Address after: Room B503, 5th Floor, Kyoto Mall, No. 15 Limin West Road, Liuyuan Office, Dongchangfu District, Liaocheng City, Shandong Province, 252000 Patentee after: Shandong Rock Jiahua Technology Co.,Ltd. Address before: No.06-08, 23a, building 1, No.1, Section 1, Huafu Avenue, Huayang street, Tianfu New District, Chengdu, Sichuan 610000 Patentee before: Chengdu Jiahua Chain Cloud Technology Co.,Ltd. |