CN115526629A - 基于区块链网络的收单交易方法、装置及身份认证装置 - Google Patents
基于区块链网络的收单交易方法、装置及身份认证装置 Download PDFInfo
- Publication number
- CN115526629A CN115526629A CN202211163408.1A CN202211163408A CN115526629A CN 115526629 A CN115526629 A CN 115526629A CN 202211163408 A CN202211163408 A CN 202211163408A CN 115526629 A CN115526629 A CN 115526629A
- Authority
- CN
- China
- Prior art keywords
- user
- transaction
- block chain
- key information
- private key
- 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.)
- Pending
Links
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
- 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
- G06Q20/4014—Identity check for transactions
-
- 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/405—Establishing or using transaction specific rules
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种基于区块链网络的收单交易方法及装置,涉及区块链应用领域,可应用于金融领域和其他领域,所述方法包含:通过区块链网络获取第一用户和第二用户通过ECDH秘钥交换算法分别生成的公钥信息,根据公钥信息的比较结果获得第一用户和第二用户的身份校验结果;根据身份校验结果通过区块链网络中的Orderer节点对第一用户或第二用户提交的交易请求进行排序生成排序信息;根据交易请求对应的业务场景获得预存的回佣规则,根据回佣规则通过区块链网络中的Peer节点处理交易请求获得对应的入账数据和回佣数据;根据入账数据和回佣数据进行对应的回单交易处理,通过排序信息将交易处理结果按序更新至当前节点的账本中,并共识至区块链网络。
Description
技术领域
本申请涉及区块链应用领域,可应用于金融领域和其他领域,尤指一种基于区块链网络的收单交易方法、装置及身份认证装置。
背景技术
在传统收单交易流程中,对于固定且长期的大型商品交易,客户与商户签订交易合同,银行凭借客户签订的交易合同为凭据,签约银行向商户提供本外币资金结算服务。由于可能存在伪造相关交易合同骗取资金的可能性;同时,银行在向商户提供本外币结算服务的时候,是以客户签订的交易合同为凭据。由于纸质合同存在伪造的可能性,导致银行相关业务人员在向商户提供本外币结算服务前无法对收单交易的身份进行精确识别。
发明内容
本申请目的在于提供一种基于区块链网络的收单交易方法、装置及身份认证装置,采用主流非对称加密算法ECDH算法来实现收单交易认证,提高资金的安全性。
为达上述目的,本申请所提供的基于区块链网络的收单交易方法,适用于Hyperledger fabric架构的区块链网络,具体包含:通过区块链网络获取第一用户和第二用户通过ECDH秘钥交换算法分别生成的公钥信息,根据所述公钥信息的比较结果获得第一用户和第二用户的身份校验结果;根据所述身份校验结果通过区块链网络中的Orderer节点对第一用户或第二用户提交的交易请求进行排序生成排序信息;根据所述交易请求对应的业务场景获得预存的回佣规则,根据所述回佣规则通过区块链网络中的Peer节点处理所述交易请求获得对应的入账数据和回佣数据;根据所述入账数据和所述回佣数据进行对应的回单交易处理,通过所述排序信息将交易处理结果按序更新至当前节点的账本中,并共识至所述区块链网络。
在上述基于区块链网络的收单交易方法中,可选的,所述方法还包含:第一用户根据约定第一数值和第二数值生成第一私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据;将所述第一传递数据提供至第二用户,并根据第一私钥信息、第二数值和第二用户反馈的第二传递数据生成公钥信息。
在上述基于区块链网络的收单交易方法中,可选的,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据包含:获取第一用户的签名信息,根据所述签名信息、所述第一私钥信息通过预设ECDH秘钥交换算法计算获得第一传递数据;解析第二用户反馈的第二传递数据获得第二用户的签名信息,对所述第二用户的签名信息进行权限验证。
在上述基于区块链网络的收单交易方法中,可选的,所述方法还包含:第二用户根据约定第一数值和第二数值生成第二私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据;根据第二私钥信息、第二数值和接收到的所述第一传递数据生成公钥信息,并将所述第二传递数据提供至第一用户。
在上述基于区块链网络的收单交易方法中,可选的,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据包含:获取第二用户的签名信息,根据所述签名信息、所述第二私钥信息通过预设ECDH秘钥交换算法计算获得第二传递数据;解析第一用户提供的第一传递数据获得第一用户的签名信息,对所述第一用户的签名信息进行权限验证。
本申请还提供一种基于区块链网络的收单交易装置,适用于Hyperledger fabric架构的区块链网络,所述收单交易装置包含:校验模块、排序模块、分析模块和处理模块;所述校验模块用于通过区块链网络获取第一用户和第二用户通过ECDH秘钥交换算法分别生成的公钥信息,根据所述公钥信息的比较结果获得第一用户和第二用户的身份校验结果;所述排序模块用于根据所述身份校验结果通过区块链网络中的Orderer节点对第一用户或第二用户提交的交易请求进行排序生成排序信息;所述分析模块用于根据所述交易请求对应的业务场景获得预存的回佣规则,根据所述回佣规则通过区块链网络中的Peer节点处理所述交易请求获得对应的入账数据和回佣数据;所述处理模块用于根据所述入账数据和所述回佣数据进行对应的回单交易处理,通过所述排序信息将交易处理结果按序更新至当前节点的账本中,并共识至所述区块链网络。
本申请还提供一种应用于基于区块链网络的收单交易装置的身份认证装置,所述身份认证装置包含认证发起模块和认证接收模块;所述认证发起模块用于根据约定第一数值和第二数值生成第一私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据;将所述第一传递数据提供至第二用户,并根据第一私钥信息、第二数值和第二用户反馈的第二传递数据生成公钥信息;所述认证接收模块用于根据约定第一数值和第二数值生成第二私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据;根据第二私钥信息、第二数值和接收到的所述第一传递数据生成公钥信息,并将所述第二传递数据提供至第一用户。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
本申请的有益技术效果在于:客户以及商户在不共享密钥的情况下协商出一个密钥,银行通过向客户以及商户确认协商密钥的一致性实现收单交易身份认证。银行在确认了双方身份之后,根据双方提供的协商密钥获取收单交易的交易信息,由银行向商户提供本外币资金结算服务,提高资金的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1为本申请一实施例所提供的基于区块链网络的收单交易方法的流程示意图;
图2为本申请一实施例所提供的第一用户的公钥信息生成流程示意图;
图3为本申请一实施例所提供的第一用户的传递数据签名流程示意图;
图4为本申请一实施例所提供的第二用户的公钥信息生成流程示意图;
图5为本申请一实施例所提供的第二用户的传递数据签名流程示意图;
图6为本申请一实施例所提供的基于区块链网络的收单交易装置的结构示意图;
图7为本申请一实施例所提供的身份认证装置的结构示意图;
图8为本申请一实施例所提供的电子设备的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本申请中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本申请的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,本申请所提供的基于区块链网络的收单交易方法,适用于Hyperledger fabric架构的区块链网络,具体包含:
S101通过区块链网络获取第一用户和第二用户通过ECDH秘钥交换算法分别生成的公钥信息,根据所述公钥信息的比较结果获得第一用户和第二用户的身份校验结果;
S102根据所述身份校验结果通过区块链网络中的Orderer节点对第一用户或第二用户提交的交易请求进行排序生成排序信息;
S103根据所述交易请求对应的业务场景获得预存的回佣规则,根据所述回佣规则通过区块链网络中的Peer节点处理所述交易请求获得对应的入账数据和回佣数据;
S104根据所述入账数据和所述回佣数据进行对应的回单交易处理,通过所述排序信息将交易处理结果按序更新至当前节点的账本中,并共识至所述区块链网络。
其中,fabric为超级账本框架,它是一个利用现有成熟技术来组合而成的一个区块链技术的实现,允许可插拨实现各种功能的模块化结构,具有强大的容器技术,来承载各种主流语言来编写智能合约;收单是指签约银行向商户提供的本外币资金结算服务。就是最终持卡人在银行签约商户那里刷卡消费,银行结算,收单交易即为对应的交易行为。
所述ECDH秘钥交换算法是ECC算法和DH密钥交换原理结合使用,用于密钥磋商。交换双方可以在不共享秘密的情况下协商出一个密钥。ECC是建立在基于椭圆曲线的离散对数问题上的密码体制,在给定椭圆曲线的一个点P,一个整数k,求解Q=kP很容易;给定一个点P,Q,知道Q=kP,求整数k则是一个难题。因此ECDH的难点就在于K的求解上,这也是它的安全性能进一步提高的表现。DH算法其实也叫做Diffie-Hellman密钥交换协议,是一个不安全的秘钥共享网络协议,无法避免中间人攻击。它可以在不安全的网络中,通过交换一些公开的信息协商出共享密钥,使用此共享密钥建立安全通讯;ECDH算法的全称是椭圆曲线迪菲-赫尔曼秘钥交换,主要用于在一个不安全的通道中建立起安全的共有加密资料,一般来说交换的都是私钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据传输中使用;所述ECDH秘钥交换算法的具体应用流程将在后续实施例中详细说明,在此就不再一一详述。
请参考图2所示,在本申请一实施例中,所述方法还包含:
S201第一用户根据约定第一数值和第二数值生成第一私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据;
S202将所述第一传递数据提供至第二用户,并根据第一私钥信息、第二数值和第二用户反馈的第二传递数据生成公钥信息。
在另一实施例中,如图3所示,所述方法还包含:
S301第二用户根据约定第一数值和第二数值生成第二私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据;
S302根据第二私钥信息、第二数值和接收到的所述第一传递数据生成公钥信息,并将所述第二传递数据提供至第一用户。
具体的,上述实施例即为ECDH秘钥交换算法的具体应用流程,在实际工作中,假设客户及商户要在一条不安全的线路上交换秘钥,而交换的密钥不能被中间人知晓。首先,双方约定使用ECDH秘钥交换算法,这个时候双方已知ECDH算法里的一个大素数P,这个P可以看做是一个算法中的常量,而P的位数往往决定了攻击者破解的难度。除此之外,还有一个整数g用来辅助整个秘钥交换,g不用很大,一般是2或者5,双方知道g和P之后就开始了ECDH交换秘钥的过程。客户在已知共用参数g和P的情况下,生成私有整数a作为私钥,公钥算法一般是公钥加密,私钥解密,公钥用于加密数据,拿到密文后再用私钥解密查看内容的正确性。如果客户直接通过线路告诉商户自己的私钥a是一件既不合理风险也很大的事。这个时候客户需要利用g,P,a通过公式g^a mod P=A生成A作为公钥传递。商户通过链路收到客户发来的g,P,A,知道了客户的公钥A。此时商户也生成自己的私钥b,然后通过公式g^b mod P=B生成自己的公钥B。在发送公钥B前,商户通过A^b mod P=K生成K作为公共密钥,但是并不发送给客户,只通过链路发送B。客户在收到商户发送来的公钥B以后,同样通过B^a modP=K生成公共密钥K,这样客户和商户就能在不传递私钥a和b的情况下完成了对公共密钥K的协商。
为便于理解,在此带入具体的数值对上述流程做进一步实例性说明:
假定客户和商户协商使用质数P和整数g,其中P=83,g=8。客户选择了秘钥a=9,生成公钥g^a mod P=A(计算过程:(8^9)mod 83=5),并将A发送给商户。而商户选择了秘钥b=21,生成公钥g^b mod P=B并发送给客户(计算过程:(8^21)mod 83=18)。客户在接收到商户发送的公钥B,代入公式B^a mod P=K计算出公共密钥K=(18^9)mod 83=24。商户在接收到客户发送的公钥B,代入公式A^b mod P=K计算出公共密钥K=(5^21)mod 83=24。通过上述的计算能看出,最终客户与商户所持有的公共密钥是相等的,能用来识别双方的身份,并能通过增加密钥,P,g的复杂度来增加反侦破的难度,提高客户及商户身份识别的安全性。
由于采用ECDH密钥交换协议并不验证公钥发送者的身份,因此无法阻止中间人攻击。如果监听者截取客户的公钥,就可以替换为他自己的公钥,并将其发送给商户。同样,监听者能截取商户的公钥,就可以替换为他自己的公钥,并将其发送给客户。这样,监听者就可以轻松地对商户与客户之间发送的任何信息进行解密。监听者可以更改信息,用监听者自己的密钥对消息重新加密,然后将信息发送给接收者。为此,为解决该问题,请参考图4和图5所示,在图4中,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据可包含:
S401获取第一用户的签名信息,根据所述签名信息、所述第一私钥信息通过预设ECDH秘钥交换算法计算获得第一传递数据;
S402解析第二用户反馈的第二传递数据获得第二用户的签名信息,对所述第二用户的签名信息进行权限验证。
在图5中,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据包含:
S501获取第二用户的签名信息,根据所述签名信息、所述第二私钥信息通过预设ECDH秘钥交换算法计算获得第二传递数据;
S502解析第一用户提供的第一传递数据获得第一用户的签名信息,对所述第一用户的签名信息进行权限验证。
具体的,为解决采用ECDH密钥交换协议所带来的安全隐患,本申请通过客户与商户在交换公钥之前使用数字签名对公钥进行签名予以解决该问题。在实际工作中,可采用如下两者方式实现签名:1、用安全的媒体(例如语音通信或可信载运商)在双方之间传输数字签名密钥。2、使用公共证书颁发机构(CA)向双方提供可信数字签名密钥。
采用上述方法能大大减少客户与商户交换公钥时监听人攻击的可能性,提高客户与商户共同提供的公共密钥的安全性。客户与商户先运用上述实施例采用的ECDH算法确定公共密钥,客户到银行办理收单业务的时候,向银行出示唯一的公共密钥,银行再通过邮件或者电话向商户索要商户的公共密钥。如果核对一致,则说明客户与商户之间确实有收单业务的需求,银行再根据实际情况向商户提供本外币结算服务。
再以银行业务为例,对上述步骤S103和S104做具体实例说明。当银行业务经理认证客户及商户身份后,本申请基于hyperledger fabric架构实现银行向商户提供本外币收单服务。客户,银行,商户构成一个收单交易组合,不同的交易位于不同的通道,通道提供一种通信装置,将指定orderer和peer连接在一起,形成一个具有保密行的通信链路(虚拟),进行数据隔离(区块数据只能存储在已加入到通道中的成员节点内)的装置。要加入通道的每个节点都必须拥有自己的,通过成员服务商(MSP)获得的身份标志。客户通过客户端输入相关信息,输入信息包括交易金额,客户信息及商户信息,客户通过公开私钥验证身份并将相关交易信息记录到区块链中。银行拥有加入该通道的身份标志,并能从区块链中查询到客户交易明细。银行同样通过私钥验证身份并调用链码向商户提供本外币结算服务,实现向商户入账并扣除回佣手续费给银行的功能。
首先搭建所需的网络环境,Hyperledger Fabric处理交易时需要大量相关的证书来确保整个交易(TSL,身份验证,签名块)期间的数据安全性。初始区块和通道配置事务使用Hyperledger Fabric中的configtxgen工具生成,并保存在相关目录。同时为了构建区块链网络,需使用Docker构建并处理不同角色的虚拟计算机,所以在操作系统中需要相关的Docker容器,并设置一个Orderer节点的监听地址,端口号,初始区块,MSP信息及主机与Docker的映射信息。同时设置N个Peer节点的监听地址,端口号,MSP信息,相关证书名称与所在路径及主机与Docker的相关映射信息以及设置CA服务器名称,目录,证书名称及路径,密钥名称及路径的相关信息。
Orderer节点会对客户在客户端提交的交易请求进行排序,之后生成区块广播给通道内的Peer。Peer节点表示的是在组织内的节点(Node),Peer节点以区块的形式从排序服务节点接收有序状态更新,维护状态和账本。Peer节点根据分工不同可以划分为四种角色。1、背书节点:根据指定的策略调用不同的智能合约,例如在本申请中需调用计算回佣,商户入账等根据收单交易场景所编写的智能合约,对结果进行背书,返回提案并响应带客户端中。2、提交节点:调用执行证据相关智能合约会完成走账,该节点的作用是验证账务相关信息并保存到账本中。3、锚节点:通道中的每个组织(Org)都有一个锚节点,锚节点可以允许同一通道中的不同组织的Peer节点发现通道内的所有Peer节点。在本申请中,与收单交易相关的所有客户,商户以及银行方都在同一通道中,但不在同一交易场景下的客户,商户位于不同的组织,其中锚节点可以允许在收单交易同一通道中不同组织的Peer节点发现通道方的所有节点。有利于银行方掌握通道内所有节点的详细交易信息,为银行全局把握收单交易交易,及时发现异常交易信息打下坚实的基础。4、Leader节点:作为组织内所有节点的代表,能够连接到服务排序节点,并将服务排序节点接收到的批量区块广播给组织内的其他节点。由于区块链的特性是所有节点都保存所有交易信息,并根据区块链不可篡改的特性保证信息的准确性。网络搭建完毕后,使用GoLang语言来设计应用程序,其中包括链码(智能合约部分)。而在本申请中,需要设计的智能合约包括计算回佣,商户入账等。
链码一般分为系统链码和用户链码,系统链码负责Fabric节点自身的处理逻辑,包括系统配置,背书,校检等工作。Hyperledger Fabric系统链码仅支持GoLang语言,在Peer节点启动时会自动完成注册和部署。其中,系统链码一共有以下五种类型:1、配置系统链码:负责处理Peer端的通道配置。2、生命周期系统链码:负责对用户生命周期进行管理。3、查询系统链码:提供账本查询API,如获取区块和交易等信息。4、背书管理系统链码:负责背书(签名)过程,并支持对背书策略进行管理。对提交的交易提案的模拟运行结果进行签名,之后创建响应信息返回给客户端。5、验证系统链码:处理交易的验证,包括检查背书策略及多版本并发控制。
本申请需要根据实际需求所设计的智能合约(计算回佣,商户入账)则是属于用户链码的范畴,用户链码是由应用开发人员根据不同场景的需求及成员制定的相关规则,使用GoLang语言编写基于区块链分布式账本状态的业务处理逻辑代码运行在链码容器中,通过Hyperledger Fabric提供的接口与账本状态进行交互。用户链码在整个应用程序中处于重要地位,因为它向下可对账本数据进行操作,向上可以给企业级应用程序提供调用接口。本申请所涉及的用户链码涉及计算回佣,商户入账。计算回佣指的是根据客户及商户的情况,银行根据实际情况收取相关回佣的功能。商户入账指的是在扣除相关回佣收入之后,将属于商户的收益入账到商户对应账户的功能。
在区块链网络中,不同参与者写入的交易必须按照产生的顺序被依次写入账本中。交易如何在分布式场景下实现所有节点对同一个提案或值的一致性,是区块链技术必须考虑并加以解决的一个问题。要实现这一目标,交易顺序必须被正确建立,并且必须包含对交易被篡改或者恶意提交交易的处理方法。
在本申请一实施例中采用PBFT算法实现收单交易共识机制,PBFT算法有两个限定条件。第一个条件是所有节点必须是确定性的,即:在给定状态和参数相同的情况下,操作执行的结果必须相同。第二个条件是所有节点必须从相同的状态开始执行。
算法流程包括客户端向主节点发送请求,主节点通过广播将请求发送给其他副本,所有副本都执行请求并将结果返回给客户端,客户端需要等待f+1个不同副本节点返回相同的结果,作为整个操作的最终结果。客户端C向主节点P发送<REQUEST,o,t,c>请求。O指请求的具体操作;t指请求客户端追加的时间戳;c指客户端标识;REQUEST包含信息内容m,以及消息摘要d。客户端C发出请求的时间戳是顺序排序的,后续发出请求比早先发出的请求拥有更高的时间戳。主节点P收到客户端C的<REQUEST,o,t,c>请求,需要进行以下校检:客户端请求REQUEST中消息签名是否正确。如果验证不通过,则丢弃,否则接收消息,于是进入PRE-PREPARE阶段。
此阶段中,主节点给收到的消息分配一个编号n,接着广播一条<<PRE-PREPARE,v,n,d>,m>消息给其他副本节点,并将请求记录到本地历史(log)中。说明:n主要用于对所有客户端的请求进行排序;v指视图编号;m指消息内容;d指消息摘要。从<PRE-PREPARE,v,n,d>可以看出,请求消息本身内容(m)是不包含在预准备的消息里面的,这样就能使预准备消息足够小。预准备消息的目的是作为一种证明,确定该请求是在视图v中被赋予了序号n,从而在视图变更的过程中可以追索。副本节点收到主节点的<<PRE-PREPARE,v,n,d>,m>消息,需要进行以下校检:1、REQUEST和PRE-PREPARE消息中签名是否正确。2、当前视图编号是v。3、该节点从未在视图v中接收过序号为n但是摘要d不同的消息m。4、m的消息摘要与消息中d是否一致。5、判断n是否在区间[h,H]内。
如果验证不通过,则丢弃,否则接收消息,于是进入到PREPARE阶段。此阶段中,当前副本节点广播一条<PREPARE,v,n,d,i>消息,需要进行以下校验:1、消息签名是否正确。2、判断n是否在区间[h,H]内。3、d是否和当前已收到PR-PPREPARE中的d相同。
如果验证不通过,则丢弃,否则接收消息。PREPARE准备阶段完成的条件为:当前节点i将(m,v,n,i)写入消息日志,从2f个不同副本节点收到的与预准备消息一致的准备消息。满足这两个条件后进入COMMIT阶段。此阶段中,当前节点广播一条<COMMIT,v,n,d,i>消息。主节点和副本节点收到<COMMIT,v,n,d,i>消息,需要进行以下校验:1、COMMIT消息签名是否正确。2、当前副本节点是否已经收到了同一个视图v下的n。3、计算m的摘要,并判断和d是否一致。4、n是否在区间[h,H]内。
如果验证不通过,则丢弃,否则接收消息。COMMIT阶段完成的条件是:1、任意f+1个正常副本节点集合中prepared(m,v,n,i)为真,这一条确保committed(m,v,n)为真。2、prepared(m,v,n,i)为真,并且节点i已经接受了2f+1个确认(包含自身在内)与预准备一致的消息。这一条确保committed-local(m,v,n,i)为真。确认与预准备消息一致的条件是具有相同的视图编号,消息序号和消息摘要。在完成COMMIT阶段后,进入到REPLY阶段。到达此阶段,说明共识已达成,运行客户端的请求操作o,并返回<REPLY,v,t,c,i,r>给客户端。其中v是视图编号,t是时间戳,i是副本的编号,r是请求执行的结果。如果客户端收到f+1不同节点返回的相同REPLY消息,说明客户端发起的请求已经达成共识,否则如果客户端没有在有限时间内收到足够的回复,客户端将判断是否再次向所有副本节点进行广播请求。由于失效节点不能超过f,f+1个相同的REPLY消息说明其中至少有一个好节点返回正确的结果了,好节点返回正确的结果,那么就可以认为消息已经得到有效的共识。
请参考图6所示,本申请还提供一种基于区块链网络的收单交易装置,适用于Hyperledger fabric架构的区块链网络,所述收单交易装置包含:校验模块、排序模块、分析模块和处理模块;所述校验模块用于通过区块链网络获取第一用户和第二用户通过ECDH秘钥交换算法分别生成的公钥信息,根据所述公钥信息的比较结果获得第一用户和第二用户的身份校验结果;所述排序模块用于根据所述身份校验结果通过区块链网络中的Orderer节点对第一用户或第二用户提交的交易请求进行排序生成排序信息;所述分析模块用于根据所述交易请求对应的业务场景获得预存的回佣规则,根据所述回佣规则通过区块链网络中的Peer节点处理所述交易请求获得对应的入账数据和回佣数据;所述处理模块用于根据所述入账数据和所述回佣数据进行对应的回单交易处理,通过所述排序信息将交易处理结果按序更新至当前节点的账本中,并共识至所述区块链网络。具体实现方式已在前述实施例中详细说明,在此就不再一一详述。
请参考图7所示,本申请还提供一种应用于基于区块链网络的收单交易装置的身份认证装置,所述身份认证装置包含认证发起模块和认证接收模块;所述认证发起模块用于根据约定第一数值和第二数值生成第一私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据;将所述第一传递数据提供至第二用户,并根据第一私钥信息、第二数值和第二用户反馈的第二传递数据生成公钥信息;所述认证接收模块用于根据约定第一数值和第二数值生成第二私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据;根据第二私钥信息、第二数值和接收到的所述第一传递数据生成公钥信息,并将所述第二传递数据提供至第一用户。具体实现方式已在前述实施例中详细说明,在此就不再一一详述。
本申请的有益技术效果在于:客户以及商户在不共享密钥的情况下协商出一个密钥,银行通过向客户以及商户确认协商密钥的一致性实现收单交易身份认证。银行在确认了双方身份之后,根据双方提供的协商密钥获取收单交易的交易信息,由银行向商户提供本外币资金结算服务,提高资金的安全性。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
如图8所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图8中所示的所有部件;此外,电子设备600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于区块链网络的收单交易方法,适用于Hyperledger fabric架构的区块链网络,其特征在于,所述方法包含:
通过区块链网络获取第一用户和第二用户通过ECDH秘钥交换算法分别生成的公钥信息,根据所述公钥信息的比较结果获得第一用户和第二用户的身份校验结果;
根据所述身份校验结果通过区块链网络中的Orderer节点对第一用户或第二用户提交的交易请求进行排序生成排序信息;
根据所述交易请求对应的业务场景获得预存的回佣规则,根据所述回佣规则通过区块链网络中的Peer节点处理所述交易请求获得对应的入账数据和回佣数据;
根据所述入账数据和所述回佣数据进行对应的回单交易处理,通过所述排序信息将交易处理结果按序更新至当前节点的账本中,并共识至所述区块链网络。
2.根据权利要求1所述的基于区块链网络的收单交易方法,其特征在于,所述方法还包含:
第一用户根据约定第一数值和第二数值生成第一私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据;
将所述第一传递数据提供至第二用户,并根据第一私钥信息、第二数值和第二用户反馈的第二传递数据生成公钥信息。
3.根据权利要求2所述的基于区块链网络的收单交易方法,其特征在于,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据包含:
获取第一用户的签名信息,根据所述签名信息、所述第一私钥信息通过预设ECDH秘钥交换算法计算获得第一传递数据;
解析第二用户反馈的第二传递数据获得第二用户的签名信息,对所述第二用户的签名信息进行权限验证。
4.根据权利要求2所述的基于区块链网络的收单交易方法,其特征在于,所述方法还包含:
第二用户根据约定第一数值和第二数值生成第二私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据;
根据第二私钥信息、第二数值和接收到的所述第一传递数据生成公钥信息,并将所述第二传递数据提供至第一用户。
5.根据权利要求4所述的基于区块链网络的收单交易方法,其特征在于,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据包含:
获取第二用户的签名信息,根据所述签名信息、所述第二私钥信息通过预设ECDH秘钥交换算法计算获得第二传递数据;
解析第一用户提供的第一传递数据获得第一用户的签名信息,对所述第一用户的签名信息进行权限验证。
6.一种基于区块链网络的收单交易装置,适用于Hyperledger fabric架构的区块链网络,其特征在于,所述收单交易装置包含:校验模块、排序模块、分析模块和处理模块;
所述校验模块用于通过区块链网络获取第一用户和第二用户通过ECDH秘钥交换算法分别生成的公钥信息,根据所述公钥信息的比较结果获得第一用户和第二用户的身份校验结果;
所述排序模块用于根据所述身份校验结果通过区块链网络中的Orderer节点对第一用户或第二用户提交的交易请求进行排序生成排序信息;
所述分析模块用于根据所述交易请求对应的业务场景获得预存的回佣规则,根据所述回佣规则通过区块链网络中的Peer节点处理所述交易请求获得对应的入账数据和回佣数据;
所述处理模块用于根据所述入账数据和所述回佣数据进行对应的回单交易处理,通过所述排序信息将交易处理结果按序更新至当前节点的账本中,并共识至所述区块链网络。
7.一种应用于权利要求6所述的基于区块链网络的收单交易装置的身份认证装置,其特征在于,所述身份认证装置包含认证发起模块和认证接收模块;
所述认证发起模块用于根据约定第一数值和第二数值生成第一私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第一传递数据;将所述第一传递数据提供至第二用户,并根据第一私钥信息、第二数值和第二用户反馈的第二传递数据生成公钥信息;
所述认证接收模块用于根据约定第一数值和第二数值生成第二私钥信息,通过预设ECDH秘钥交换算法和所述第一私钥信息计算获得第二传递数据;根据第二私钥信息、第二数值和接收到的所述第一传递数据生成公钥信息,并将所述第二传递数据提供至第一用户。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有由计算机执行权利要求1至5任一所述方法的计算机程序。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至5任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211163408.1A CN115526629A (zh) | 2022-09-23 | 2022-09-23 | 基于区块链网络的收单交易方法、装置及身份认证装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211163408.1A CN115526629A (zh) | 2022-09-23 | 2022-09-23 | 基于区块链网络的收单交易方法、装置及身份认证装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115526629A true CN115526629A (zh) | 2022-12-27 |
Family
ID=84700610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211163408.1A Pending CN115526629A (zh) | 2022-09-23 | 2022-09-23 | 基于区块链网络的收单交易方法、装置及身份认证装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115526629A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114764709A (zh) * | 2021-01-14 | 2022-07-19 | 富士通株式会社 | 信息处理装置和信息处理方法 |
-
2022
- 2022-09-23 CN CN202211163408.1A patent/CN115526629A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114764709A (zh) * | 2021-01-14 | 2022-07-19 | 富士通株式会社 | 信息处理装置和信息处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220318907A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN110769035B (zh) | 一种区块链资产发行方法、平台、业务节点及存储介质 | |
CN110572262A (zh) | 区块链联盟链构建方法、装置及系统 | |
CN110601816B (zh) | 一种区块链系统中轻量级节点控制方法及装置 | |
CN109614813B (zh) | 基于区块链的隐私交易方法、装置及其应用方法、装置 | |
CN109617699A (zh) | 一种密钥生成方法、区块链网络服务平台及存储介质 | |
CN110990855A (zh) | 区块链信息记录和查询方法、装置、系统 | |
CN111429138A (zh) | 区块链节点数据安全交互方法及第一交互节点 | |
CN108876669A (zh) | 应用于多平台教育资源共享的课程公证系统及方法 | |
CN111767569A (zh) | 区块链的访问授权方法及节点 | |
CN110992178A (zh) | 区块链节点的验证方法、装置、计算机设备及存储介质 | |
CN111429191A (zh) | 基于区块链的电子发票流转管理方法、装置及系统 | |
CN111160998A (zh) | 基于区块链的点评数据处理方法、装置及点评系统 | |
CN114760071B (zh) | 基于零知识证明的跨域数字证书管理方法、系统和介质 | |
CN113328854B (zh) | 基于区块链的业务处理方法及系统 | |
Chen et al. | TrustBuilder: A non-repudiation scheme for IoT cloud applications | |
CN111311259A (zh) | 票据处理方法、装置、终端及计算机可读存储介质 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN115526629A (zh) | 基于区块链网络的收单交易方法、装置及身份认证装置 | |
CN115705601A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN111915302B (zh) | 关联数据处理方法、装置、电子设备及计算机可读介质 | |
CN116757698B (zh) | 一种用于完善支付安全性能的加密方法及系统 | |
WO2023005500A1 (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN114240614A (zh) | 基于区块链的金融业务测试方法及其装置、电子设备 | |
CN116743377B (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 |