CN108492183B - 区块链的账户交易方法、系统和计算机可读存储介质 - Google Patents
区块链的账户交易方法、系统和计算机可读存储介质 Download PDFInfo
- Publication number
- CN108492183B CN108492183B CN201810270128.8A CN201810270128A CN108492183B CN 108492183 B CN108492183 B CN 108492183B CN 201810270128 A CN201810270128 A CN 201810270128A CN 108492183 B CN108492183 B CN 108492183B
- Authority
- CN
- China
- Prior art keywords
- transaction
- account
- chain
- hotspot
- user
- 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
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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种区块链的账户交易方法、系统和计算机可读存储介质,所述方法包括:在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作;在热点账户链中确定所述用户交易链对应的热点账户;获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中。本发明的账户交易通过跨链方式实现,由于多个链进行通信,链可以拓展,因此可支持海量数据服务金融级业务,并且多个用户账户和热点账户可是通过跨链方式实现,缩短了账户交易时间,提高了交易效率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链的账户交易方法、系统和计算机可读存储介质。
背景技术
现有区块链主要有公有链、联盟链、私有链之分,公有链如比特币、以太坊等,公有链以POW(Proof Of Work,工作量证明)作为共识算法,也有比特股等以POS(Proof ofStake,POS基于权益证明)作为共识算法。
其中,公有链通常是单链模式运行,目前存在交易吞吐量较小,交易确认延迟时间太长等性能问题。联盟链方面,例如Fabric、Corda等,采用拜占庭容错算法进行共识,或者引入可信机构进行共识授信,相比公有链,联盟链在性能上有较大提升,但仍然无法支持海量服务的需求。
显然,现有的区块链中存在以下缺陷:
1)常用区块链架构,单条链的性能瓶颈就是整个业务的性能瓶颈,无法支持海量服务和金融级业务;
2)在很多金融交易场景里,可能会出现大量的用户帐户和少数集中的一个或多个热点帐户产生交易的情况,如用户往某个热卖中的商户付款,或者用户频繁从某个帐户中提现或者获取优惠券、积分或者其他资产等,由于用户帐户数量较大,与热点账户的交易过程中,需要花费大量的时间才能完成,较为耗时,导致交易效率非常低。
发明内容
本发明的主要目的在于提供一种区块链的账户交易方法、系统和计算机可读存储介质,旨在解决现有区块链的账户交易过程,在单链模式下需要花费大量的时间才能完成交易,导致交易效率非常低的技术问题。
为实现上述目的,本发明提供一种区块链的账户交易方法,应用于区块链并行架构,所述区块链并行架构包括热点账户链以及多条用户交易链,所述方法还包括:
在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作;
在热点账户链中确定所述用户交易链对应的热点账户;
获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中。
可选地,所述获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中的步骤包括:
在所述用户交易链中确定所述热点账户对应的影子户;
通过影子户定期将获取的交易数据发送至热点数据同步子系统,由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中。
可选地,执行所述由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中的步骤的同时,执行以下步骤:
由所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明;
将存在证明发送给热点账户链,以供热点账户链验证所述存在证明,以在验证通过后执行账目计算操作以及入账操作。
可选地,所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明的方式包括:
获取交易数据的哈希值,根据交易数据的哈希值在用户交易链中查找包含所述交易数据的区块;
在所述区块的块头中获取区块哈希值,以及参与共识的节点所组成的节点公钥列表;
在所述区块的块体中获取参与共识的节点的签名列表,其中,所述签名列表由节点用私钥对区块哈希值进行签名得到;
在所述区块的块头中获取所述交易数据关联的树根,并在所述树根获取交易数据的兄弟节点;
将块头、区块哈希值、节点公钥列表、签名列表、树根、兄弟节点、交易数据的哈希值和交易数据作为执行交易操作的存在证明。
可选地,所述将存在证明发送给热点账户链的步骤之后,所述方法还包括:
当热点账户链中的热点账户接收到交易数据和存在证明之后,验证所述存在证明;
在验证成功后,由所述热点账户进行账目计算并执行入账操作。
可选地,所述热点账户验证所述存在证明的方式包括:
从所述存在证明中提取出节点公钥列表、区块哈希值、签名列表、交易数据的哈希值、兄弟节点、树根;
验证提取的节点公钥列表是否与热点账户链中的节点公钥列表一致;
采用区块哈希值对签名列表恢复出节点的公钥,判断恢复出的公钥是否在节点公钥列表中;
根据交易数据的哈希值和兄弟节点对树根进行验证,以判断验证的树根是否为存在证明中的树根;
比较交易数据的哈希值是否与交易数据计算出的哈希值一致。
可选地,所述在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作的步骤之前,所述方法还包括:
在接收到交易请求时,由代理服务器获取路由信息和配置信息;
根据所述路由信息和配置信息,选择待交易的用户交易链;
将交易请求发送至确定的用户交易链中。
可选地,所述在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作的步骤之后,所述方法还包括:
在用户交易链中的交易操作执行成功时,反馈交易成功信息至所述代理服务器,由所述代理服务器反馈交易成功信息至业务方。
此外,为实现上述目的,本发明还提供一种区块链的账户交易系统,所述区块链的账户交易系统包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的账户交易程序,所述账户交易程序被所述处理器执行时实现如上文所述的区块链的账户交易方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有账户交易程序,所述账户交易程序被处理器执行时实现如上文所述的区块链的账户交易方法的步骤。
本发明提出的区块链的账户交易方法,应用于区块链并行架构,该区块链并行架构包括热点账户链以及多条用户交易链,在用户交易链中接收到交易请求时,先根据所述交易请求执行交易操作,然后在热点账户链中确定所述用户交易链对应的热点账户,再获取所述用户交易链在交易操作中产生的交易数据,最终通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中,使得账户的交易通过跨链方式实现,由于多个链进行通信,链可以拓展,因此可支持海量数据服务金融级业务,并且多个用户账户和热点账户之间的交易通过跨链方式实现,缩短了账户交易时间,提高了交易效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图;
图2为本发明区块链的账户交易方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,现有的区块链架构仅仅是单链模式,单条链的性能瓶颈就是整个业务的性能瓶颈,单条链增加节点无法带来性能提升,也无法支撑金融级业务,此外,现有的区块链架构也没有利用传统分布式架构的优点,因此无法支持海量数据服务。
基于现有技术存在的问题,本发明实施例的解决方案主要是:设计区块链并行架构,在区块链并行架构设计热点账户链以及多条用户交易链,在用户交易链中接收到交易请求时,先根据所述交易请求执行交易操作,然后在热点账户链中确定所述用户交易链对应的热点账户,再通过热点数据同步子系统接收所述用户交易链在交易操作中产生的交易数据,以将接收的交易数据准实时发送至热点账户链中的所述热点账户中。以解决现有的账户交易过程,在单链模式下需要花费大量的时间才能完成交易,导致交易效率非常低的问题。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的区块链的账户交易系统的结构示意图。
本发明实施例的区块链的账户交易系统可以是PC、便携计算机,也可以是服务器、虚拟机设备等设备。
如图1所示,该区块链的账户交易系统可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口(例如用于连接有线键盘、有线鼠标等)、无线接口(例如用于连接无线键盘、无线鼠标)。网络接口1004可选的可以包括标准的有线接口(用于连接有线网络)、无线接口(如WI-FI接口,用于连接无线网络)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的区块链的账户交易系统结构并不构成对区块链的账户交易系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及区块链的账户交易程序。其中,操作系统是管理和控制区块链的账户交易系统与软件资源的程序,支持网络通信模块、用户接口模块、区块链的账户交易程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的区块链的账户交易系统中,所述区块链的账户交易系统通过处理器1001调用存储器1005中存储的区块链的账户交易程序,以实现以下步骤:
在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作;
在热点账户链中确定所述用户交易链对应的热点账户;
获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中。
进一步地,所述区块链的账户交易系统通过处理器1001调用存储器1005中存储的区块链的账户交易程序,还实现获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中的步骤:
在所述用户交易链中确定所述热点账户对应的影子户;
通过影子户定期将获取的交易数据发送至热点数据同步子系统,由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中。
进一步地,执行所述由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中的步骤的同时,所述区块链的账户交易系统通过处理器1001调用存储器1005中存储的区块链的账户交易程序,还实现以下步骤:
由所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明;
将存在证明发送给热点账户链,以供热点账户链验证所述存在证明,以在验证通过后执行账目计算操作以及入账操作。
进一步地,所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明的方式包括:
获取交易数据的哈希值,根据交易数据的哈希值在用户交易链中查找包含所述交易数据的区块;
在所述区块的块头中获取区块哈希值,以及参与共识的节点所组成的节点公钥列表;
在所述区块的块体中获取参与共识的节点的签名列表,其中,所述签名列表由节点用私钥对区块哈希值进行签名得到;
在所述区块的块头中获取所述交易数据关联的树根,并在所述树根获取交易数据的兄弟节点;
将块头、区块哈希值、节点公钥列表、签名列表、树根、兄弟节点、交易数据的哈希值和交易数据作为执行交易操作的存在证明。
进一步地,所述将存在证明发送给热点账户链的步骤之后,所述区块链的账户交易系统通过处理器1001调用存储器1005中存储的区块链的账户交易程序,还实现以下步骤:
当热点账户链中的热点账户接收到交易数据和存在证明之后,验证所述存在证明;
在验证成功后,由所述热点账户进行账目计算并执行入账操作。
进一步地,所述热点账户验证所述存在证明的方式包括:
从所述存在证明中提取出节点公钥列表、区块哈希值、签名列表、交易数据的哈希值、兄弟节点、树根;
验证提取的节点公钥列表是否与热点账户链中的节点公钥列表一致;
采用区块哈希值对签名列表恢复出节点的公钥,判断恢复出的公钥是否在节点公钥列表中;
根据交易数据的哈希值和兄弟节点对树根进行验证,以判断验证的树根是否为存在证明中的树根;
比较交易数据的哈希值是否与交易数据计算出的哈希值一致。
进一步地,所述在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作的步骤之前,所述区块链的账户交易系统通过处理器1001调用存储器1005中存储的区块链的账户交易程序,还实现以下步骤:
在接收到交易请求时,由代理服务器获取路由信息和配置信息;
根据所述路由信息和配置信息,选择待交易的用户交易链;
将交易请求发送至确定的用户交易链中。
进一步地,所述在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作的步骤之后,所述区块链的账户交易系统通过处理器1001调用存储器1005中存储的区块链的账户交易程序,还实现以下步骤:
在用户交易链中的交易操作执行成功时,反馈交易成功信息至所述代理服务器,由所述代理服务器反馈交易成功信息至业务方。
基于上述区块链的账户交易系统的硬件结构,提出本发明区块链的账户交易方法的各个实施例。
参照图2,图2为本发明区块链的账户交易方法第一实施例的流程示意图。
在本实施例中,所述区块链的账户交易方法应用于区块链并行架构,所述区块链并行架构包括热点账户链以及多条用户交易链,所述方法包括:
步骤S10,在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作;
步骤S20,在热点账户链中确定所述用户交易链对应的热点账户;
步骤S30,获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中。
在本实施例中,所述区块链的账户交易方法可选应用于区块链的账户交易系统,所述区块链的账户交易系统可选为图1所述的系统。该区块链的账户交易过程运行在区块链并行架构中,本实施例中所述的区块链并行架构包括多条链,包括:一条热点链,以及多条用户交易链,应当理解,用户交易链的具体数量不做限定,投入足够的资源,则可根据业务需求拓展区块链并行架构下的用户交易链。
需要说明的是,在很多金融交易场景中,可能会出现大量的用户帐户和少数的一个或多个热点帐户产生交易的情况,如用户往某个热卖中的商户付款,或者用户频繁从某个帐户中提现或者获取优惠券、积分或者其他资源等,由于用户帐户数量较大,相对来说,这些被集中访问的商户帐户,就被称为“热点帐户”。热点帐户在完成和用户账户的交易之外,还需要汇总所有的交易结果,如计算总分帐,余额等,以便完成其特有的流程,如清算结算等。
在本实施例中,所述步骤S10之前,所述方法还包括:
步骤A,将各个用户账户按照预设的性能模型,拆分成多个分组,将每个分组作为一条用户交易链;以及根据各个热点账户集中生成热点账户链。
即,在区块链网络中,存在多个用户账户与商户账户进行通信的过程,在通信过程中,为了提高通信效率,按照预设的性能模型将各个用户账户进行分组,具体的性能模型不做限定,按照实际需要设置,按照性能模型,可将多个用户账户分成多个组,每一组即可组成一条用户交易链。例如,当前有500万用户,每个分组能容纳100万用户,将500万用户分成5个分组(每组实际能容纳的用户数根据业务场景实测评估),这样就构建了5个“用户交易链”。热点帐户本身可以集中在一个热点账户链上(也可以分配在某一个分组里),热点账户链主要用于准实时的汇总各“用户交易链”的账务,以管理热点账户的总分帐,如总收入,总支出以及帐户准实时余额等。通过多条用户交易链和一条热点账户链,实现在区块链并行架构中的区块链的账户交易。
以下详细介绍本实施例中逐步实现区块链的账户交易方法的各个步骤:
步骤S10,在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作;
在本实施例中,所述步骤A之后且步骤S10之前,还包括步骤:
步骤B,在接收到交易请求时,由代理服务器获取路由信息和配置信息;
步骤C,根据所述路由信息和配置信息,选择待交易的用户交易链;
步骤D,将交易请求发送至确定的用户交易链中。
即,在建立热点账户链以及多条用户交易链之后,若接收到交易请求,先由代理服务器获取预存的路由信息和配置信息,需要说明的是,该交易请求由业务方发送,所述路由信息和配置信息是事先设置并存储的信息,当代理服务器接收到业务方发送的交易请求之后,获取预存的路由信息和配置信息,以根据预存的路由信息和配置信息选择待交易的用户交易链,在确定用户交易链之后,即可将交易请求发送至确定的用户交易链中。
在用户交易链中接收到交易请求时,用户交易链先根据该交易请求执行交易操作,在交易请求为转账请求时,用户交易链根据转账请求执行转账操作,在交易请求为支付请求时,用户交易链根据支付请求执行支付操作。
步骤S20,在热点账户链中确定所述用户交易链对应的热点账户;
接着,在热点账户链中确定所述用户交易链对应的热点账户,需要说明的是,热点账户链中的一个热点账户对应多条用户交易链。
步骤S30,获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中。
在根据交易请求执行完交易操作之后,用户交易链获取所述用户交易链在交易操作中产生的交易数据,并将交易操作中产生的交易数据发送至热点数据同步子系统,由所述热点数据同步子系统将交易数据准实时发送至所述用户交易链关联的热点账户中。
本实施例提出的区块链的账户交易方法,应用于区块链并行架构,该区块链并行架构包括热点账户链以及多条用户交易链,在用户交易链中接收到交易请求时,先根据所述交易请求执行交易操作,然后在热点账户链中确定所述用户交易链对应的热点账户,再获取所述用户交易链在交易操作中产生的交易数据,最终通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中,使得账户的交易通过跨链方式实现,由于多个链进行通信,链可以拓展,因此可支持海量数据服务金融级业务,并且多个用户账户和热点账户可是通过跨链方式实现,缩短了账户交易时间,提高了交易效率。
进一步地,基于第一实施例提出本发明区块链的账户交易方法的第二实施例。
区块链的账户交易方法的第二实施例与区块链的账户交易方法的第一实施例的区别在于,所述“通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中”包括:
步骤a,在所述用户交易链中确定所述热点账户对应的影子户;
步骤b,通过影子户定期将获取的交易数据发送至热点数据同步子系统,由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中。
需要说明的是,第一实施例中的账户交易过程,由于用户交易链和热点账户链的交易过程,需要跨链实现,因此,需要消耗一定的时间,本实施例中,为了进一步缩短用户交易链和热点账户链之间的交易时间,在所述用户交易链中设置热点账户对应的影子户。每个热点账户在每条用户交易上预先生成一个影子户,用户交易链上的一个影子户对应热点账户链中的一个热点账户。用户交易链在实时交易时,实际上是和“用户交易链”内的热点帐户影子户发生交易,每次交易都在用户交易链内部进行共识,不同的用户交易链可以并行的进行交易计算,互不相关,用户交易链和影子户之间的交易完成后,意味着用户交易链和热点帐户的交易完成。
在本实施例中,通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中时,是先在用户交易链中确定所述热点账户对应的影子户,即,事先在用户交易链中设置热点账户对应的影子户,后续要使用时,只要在用户交易链中确定事先设置的影子户即可,接着,通过影子户定期对获取的交易数据进行汇总,并将汇总的交易数据发送至热点数据同步子系统,由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中,所述热点数据同步子系统负责管理热点账户的总分帐,进行准实时跨链汇总。
在本实施例中,在用户交易链中设置影子户,以通过影子户实现用户交易链与影子户的交易过程,使得账户的交易过程无须跨链使用,缩短了账户交易的时间,从而提高了账户交易的效率。
本实施例中,整个过程会通过链间的中继,进行多次双向通信,且在不同的链上完整的执行共识确认。用户账户和影子户的交易可在一次共识的时间段内完成,时延较短,以满足用户体验。热点账户的总分帐计算为准实时完成,其时延取决于定时发起汇总交易的间隔,以及用户交易链和热点帐户链的共识时间,系统会保证用户交易链和热点帐户链之间的交易不错、不乱、不漏,具备事务一致性和完整性。
进一步地,基于第二实施例提出本发明区块链的账户交易方法的第三实施例。
区块链的账户交易方法的第三实施例与区块链的账户交易方法的第二实施例的区别在于,执行所述由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中的步骤的同时,还执行以下步骤:
步骤E,由所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明;
步骤F,将存在证明发送给热点账户链,以供热点账户链验证所述存在证明,以在验证通过后执行账目计算操作以及入账操作。
现有的区块链架构中,没有解决链与链之间的安全通信问题,即,在区块链的账户交易过程中,不仅要考虑通信可靠性,还要考虑安全性。因此,本实施例中,由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中的步骤的同时,需要由所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明,并将存在证明发送给热点账户链,以供热点账户链验证所述存在证明,以在验证通过后执行账目计算操作。
其中,所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明的步骤包括:
步骤E1,获取交易数据的哈希值,根据交易数据的哈希值在用户交易链中查找包含所述交易数据的区块;
步骤E2,在所述区块的块头中获取区块哈希值,以及参与共识的节点所组成的节点公钥列表;
步骤E3,在所述区块的块体中获取参与共识的节点的签名列表,其中,所述签名列表由节点用私钥对区块哈希值进行签名得到;
步骤E4,在所述区块的块头中获取所述交易数据关联的树根,并在所述树根获取交易数据的兄弟节点;
步骤E5,将块头、区块哈希值、节点公钥列表、签名列表、树根、兄弟节点、交易数据的哈希值和交易数据作为执行交易操作的存在证明。
即,热点数据同步子系统先获取交易数据的哈希值,本实施例中,哈希值的计算方式与现有的计算方式一致,此处不做赘述。在热点数据同步子系统获取到交易数据的哈希值之后,根据交易数据的哈希值在用户交易链中查找包含该交易数据的区块,应当理解,用户交易链中存储有各个区块,每个区块包含有交易数据,并且交易数据也对应有哈希值,因此热点数据同步子系统根据交易数据的哈希值,即可查找到包含该交易数据的区块。
在查找到区块之后,热点数据同步子系统在区块的块头中获取区块哈希值,区块哈希值存储在块头中,热点数据同步子系统可直接获取,此时,热点数据同步子系统还在块头中获取参与共识的节点组成的节点公钥列表,该节点公钥列表中存储了参与网络共识的节点的公钥。
此外,热点数据同步子系统还可在区块的块体中获取参与共识的节点的签名列表,需要说明的是,所述签名列表由参与共识的节点用私钥对区块哈希值进行签名得到,即,参与共识的节点采用其私钥对区块哈希值进行签名,以得到节点的签名,多个节点的签名即可组成签名列表。
此外,热点数据同步子系统还可在区块的块头中获取交易数据的树根,所述树根可选为默克尔树根,应当理解,默克尔树根是交易数据对应的节点与另一个节点组成的树根,该另一个节点是交易数据所在节点的兄弟节点,因此,热点数据同步子系统在区块中获取到交易数据的树根之后,即根据该树根获取到兄弟节点。之后,热点数据同步子系统将块头、区块哈希值、节点公钥列表、签名列表、树根、兄弟节点、交易数据的哈希值和交易数据作为执行交易操作的存在证明。
热点数据同步子系统获取到存在证明之后,可在发送交易数据至热点账户链的同时,发送获取到的存在证明,该存在证明可证明用户交易链确定执行了交易数据的交易操作过程。
所述步骤F之后,所述方法还包括:
步骤G,当热点账户链中的热点账户接收到交易数据和存在证明之后,验证所述存在证明;
步骤H,在验证成功后,由所述热点账户进行账目计算并执行入账操作。
在本实施例中,所述热点账户验证所述存在证明的方式包括:
步骤G1,从所述存在证明中提取出节点公钥列表、区块哈希值、签名列表、交易数据的哈希值、兄弟节点、树根;
步骤G2,验证提取的节点公钥列表是否与热点账户链中的节点公钥列表一致;
步骤G3,采用区块哈希值对签名列表恢复出节点的公钥,判断恢复出的公钥是否在节点公钥列表中;
步骤G4,根据交易数据的哈希值和兄弟节点对树根进行验证,以判断验证的树根是否为存在证明中的树根;
步骤G5,比较交易数据的哈希值是否与交易数据计算出的哈希值一致。
即,热点账户链先从接收到的存在证明中提取出节点公钥列表、区块哈希值、签名列表、交易数据的哈希值、兄弟节点和树根,在提取出这各项信息之后,对各项信息进行验证,具体地,热点账户链验证节点公钥列表是否与热点账户链中的节点公钥列表一致。需要说明的是,在区块链并行架构中,每条链都是相同的参与机构,因此具有相同的共识节点,在节点公钥列表应当是一致的。那么,在热点账户链对节点公钥列表的验证过程中,若检测到交易数据中的节点公钥列表与热点账户链中的节点公钥列表一致,才对该节点公钥列表验证成功,若验证不一致,说明对该节点公钥列表验证失败。
此外,热点账户链采用区块哈希值对签名列表恢复出节点的公钥,在恢复出节点的公钥之后,判断恢复出的所有公钥是否都在节点公钥列表中,若检测到恢复出的所有公钥都在节点公钥列表中,表示签名列表验证成功。需要说明的是,上述的节点公钥列表和签名列表的验证过程,相当于是验证用户交易链中是否存在区块,并且该区块是否在用户交易链中被共识并且确认已经上链存储。
此外,热点账户链还需要对交易数据的哈希值和兄弟节点的树根进行验证,以判断验证的树根是否为存在证明中的树根。需要说明的是,该步骤的验证是证明用户交易链中的区块存在该交易数据。
之后,热点账户链再比较交易信息的哈希值是否与交易信息计算出的哈希值一致,若一致,可证明交易信息的内容未被篡改。
需要说明的是,热点账户链对存在证明进行上述的验证,在验证通过后,才继续进行账目计算并执行入账操作。
在本实施例中,由热点数据同步子系统获取到用户交易链的执行交易数据的存在证明,以将该存在证明连同交易数据发送给热点账户链,由热点账户链对该存在证明进行验证,并在验证无误后才执行账目计算和入账操作,通过存在证明的验证,提高了区块链的账户交易的可靠性和安全性。
进一步地,基于第一至第三实施例提出本发明区块链的账户交易方法的第四实施例。
区块链的账户交易方法的第四实施例与区块链的账户交易方法的第一至第三实施例的区别在于,所述步骤S10之后,所述方法还包括:
步骤D,在用户交易链中的交易操作执行成功时,反馈交易成功信息至所述代理服务器,由所述代理服务器反馈交易成功信息至业务方。
在本实施例中,在用户交易链中的交易操作执行成功时,反馈交易成功信息至所述代理服务器,由所述代理服务器反馈交易成功信息至业务方,以告知业务方具体的账户执行结果。
本发明进一步提供一种计算机可读存储介质。
所述计算机可读存储介质上存储有区块链的账户交易程序,所述区块链的账户交易程序被处理器执行时实现如上文所述的区块链的账户交易方法的步骤。
计算机可读存储介质执行的具体实施方式与上文区块链的账户交易方法的内容一致,此处不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种区块链的账户交易方法,其特征在于,应用于区块链并行架构,所述区块链并行架构包括热点账户链以及多条用户交易链,所述方法还包括:
在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作;
在热点账户链中确定所述用户交易链对应的热点账户;
获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中;
所述获取所述用户交易链在交易操作中产生的交易数据,并通过热点数据同步子系统将获取的交易数据准实时发送至热点账户链中的所述热点账户中的步骤包括:
在所述用户交易链中确定所述热点账户对应的影子户;
通过影子户定期将获取的交易数据发送至热点数据同步子系统,由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中;
执行所述由热点数据同步子系统将接收的交易数据准实时发送至热点账户链中的所述热点账户中的步骤的同时,执行以下步骤:
由所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明;
将存在证明发送给热点账户链,以供热点账户链验证所述存在证明,以在验证通过后执行账目计算操作以及入账操作。
2.如权利要求1所述的区块链的账户交易方法,其特征在于,所述热点数据同步子系统从用户交易链中获取执行交易操作的存在证明的方式包括:
获取交易数据的哈希值,根据交易数据的哈希值在用户交易链中查找包含所述交易数据的区块;
在所述区块的块头中获取区块哈希值,以及参与共识的节点所组成的节点公钥列表;
在所述区块的块体中获取参与共识的节点的签名列表,其中,所述签名列表由节点用私钥对区块哈希值进行签名得到;
在所述区块的块头中获取所述交易数据关联的树根,并在所述树根获取交易数据的兄弟节点;
将块头、区块哈希值、节点公钥列表、签名列表、树根、兄弟节点、交易数据的哈希值和交易数据作为执行交易操作的存在证明。
3.如权利要求1所述的区块链的账户交易方法,其特征在于,所述将存在证明发送给热点账户链的步骤之后,所述方法还包括:
当热点账户链中的热点账户接收到交易数据和存在证明之后,验证所述存在证明;
在验证成功后,由所述热点账户进行账目计算并执行入账操作。
4.如权利要求2所述的区块链的账户交易方法,其特征在于,所述热点账户验证所述存在证明的方式包括:
从所述存在证明中提取出节点公钥列表、区块哈希值、签名列表、交易数据的哈希值、兄弟节点、树根;
验证提取的节点公钥列表是否与热点账户链中的节点公钥列表一致;
采用区块哈希值对签名列表恢复出节点的公钥,判断恢复出的公钥是否在节点公钥列表中;
根据交易数据的哈希值和兄弟节点对树根进行验证,以判断验证的树根是否为存在证明中的树根;
比较交易数据的哈希值是否与交易数据计算出的哈希值一致。
5.如权利要求1-4任一项所述的区块链的账户交易方法,其特征在于,所述在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作的步骤之前,所述方法还包括:
在接收到交易请求时,由代理服务器获取路由信息和配置信息;
根据所述路由信息和配置信息,选择待交易的用户交易链;
将交易请求发送至确定的用户交易链中。
6.如权利要求5所述的区块链的账户交易方法,其特征在于,所述在用户交易链中接收到交易请求时,根据所述交易请求执行交易操作的步骤之后,所述方法还包括:
在用户交易链中的交易操作执行成功时,反馈交易成功信息至所述代理服务器,由所述代理服务器反馈交易成功信息至业务方。
7.一种区块链的账户交易系统,其特征在于,所述区块链的账户交易系统包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的账户交易程序,所述账户交易程序被所述处理器执行时实现如权利要求1至6中任一项所述的区块链的账户交易方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有账户交易程序,所述账户交易程序被处理器执行时实现如权利要求1至6任一项所述的区块链的账户交易方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810270128.8A CN108492183B (zh) | 2018-03-29 | 2018-03-29 | 区块链的账户交易方法、系统和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810270128.8A CN108492183B (zh) | 2018-03-29 | 2018-03-29 | 区块链的账户交易方法、系统和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108492183A CN108492183A (zh) | 2018-09-04 |
CN108492183B true CN108492183B (zh) | 2021-05-18 |
Family
ID=63316756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810270128.8A Active CN108492183B (zh) | 2018-03-29 | 2018-03-29 | 区块链的账户交易方法、系统和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108492183B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020073246A1 (zh) * | 2018-10-10 | 2020-04-16 | 王成 | 基于区块链的交易数据处理方法、设备和存储介质 |
CN110264217A (zh) * | 2018-10-11 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、设备及存储介质 |
CN111047439B (zh) * | 2018-10-12 | 2024-05-14 | 北京邦天信息技术有限公司 | 一种基于区块链的交易处理方法 |
CN109474676A (zh) * | 2018-10-18 | 2019-03-15 | 尚维斯 | 一种任意节点都可形成联盟链或私链的区块链 |
CN109447643B (zh) * | 2018-10-31 | 2022-12-20 | 中国银联股份有限公司 | 一种基于区块链的数据共享系统及数据共享方法 |
CN111199489A (zh) * | 2018-11-16 | 2020-05-26 | 上海派链信息科技有限公司 | 用于跨区块链资产管理的方法、设备、计算机可读存储介质和计算机程序产品 |
CN109360101A (zh) * | 2018-12-18 | 2019-02-19 | 百度在线网络技术(北京)有限公司 | 一种区块链交易处理方法、装置、设备和介质 |
WO2020168564A1 (zh) * | 2019-02-22 | 2020-08-27 | 王健 | 数字货币的交易和账户验证方法,装置及存储介质 |
CN109919615B (zh) * | 2019-03-01 | 2021-04-02 | 上海分布信息科技有限公司 | 基于区块链的跨链数据交互方法及跨链数据交互系统 |
CN109934592A (zh) * | 2019-03-22 | 2019-06-25 | 深圳市网心科技有限公司 | 一种区块链跨链通信方法、系统、电子设备及存储介质 |
CN110210845B (zh) * | 2019-06-11 | 2021-06-18 | 网易(杭州)网络有限公司 | 用于区块链数据迁移的方法、装置、介质和计算设备 |
CN110363663B (zh) * | 2019-07-12 | 2023-08-22 | 深圳前海微众银行股份有限公司 | 基于区块链的数据批量处理方法、装置、设备及存储介质 |
CN110264207A (zh) * | 2019-08-15 | 2019-09-20 | 广州蚁比特区块链科技有限公司 | 区块链分离处理方法及系统 |
CN112527890B (zh) * | 2019-09-19 | 2023-04-11 | 上海哔哩哔哩科技有限公司 | 区块链数据同步方法、装置以及计算机设备 |
CN110727712B (zh) * | 2019-10-15 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN111010450B (zh) * | 2019-12-25 | 2022-01-28 | 安徽兆尹信息科技股份有限公司 | 一种用于fisco bcos平台的客户端链上数据下载方法 |
CN111259420A (zh) * | 2020-01-15 | 2020-06-09 | 厦门顺势共识信息科技有限公司 | 一种基于决策值的区块链账户体系实现方法 |
CN111488611B (zh) * | 2020-04-08 | 2021-06-22 | 北京瑞策科技有限公司 | 业务数据区块链的关系数据存储方法及装置 |
CN112434020B (zh) * | 2020-11-26 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 数据库账号的清理方法、装置及电子设备 |
CN113269556B (zh) * | 2021-05-25 | 2023-06-27 | 中国联合网络通信集团有限公司 | 权益证明的方法、系统、终端设备及计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN106528775A (zh) * | 2016-10-28 | 2017-03-22 | 山东明和软件有限公司 | 支持逻辑多链的私有区块链运行支撑系统及其工作方法 |
CN106649632A (zh) * | 2016-12-07 | 2017-05-10 | 北京众享比特科技有限公司 | 数据同步方法及系统 |
CN107358420A (zh) * | 2017-06-09 | 2017-11-17 | 北京博晨技术有限公司 | 用于实现热点账户的区块链系统以及实现热点账户的方法 |
CN107403379A (zh) * | 2017-08-07 | 2017-11-28 | 质数智慧科技(成都)有限公司 | 一种数据处理方法、装置和区块链核心分布式系统 |
-
2018
- 2018-03-29 CN CN201810270128.8A patent/CN108492183B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN106528775A (zh) * | 2016-10-28 | 2017-03-22 | 山东明和软件有限公司 | 支持逻辑多链的私有区块链运行支撑系统及其工作方法 |
CN106649632A (zh) * | 2016-12-07 | 2017-05-10 | 北京众享比特科技有限公司 | 数据同步方法及系统 |
CN107358420A (zh) * | 2017-06-09 | 2017-11-17 | 北京博晨技术有限公司 | 用于实现热点账户的区块链系统以及实现热点账户的方法 |
CN107403379A (zh) * | 2017-08-07 | 2017-11-28 | 质数智慧科技(成都)有限公司 | 一种数据处理方法、装置和区块链核心分布式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108492183A (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108492183B (zh) | 区块链的账户交易方法、系统和计算机可读存储介质 | |
CN108492108B (zh) | 区块链跨链通信方法、系统和计算机可读存储介质 | |
CN109936457B (zh) | 区块链多方见证方法、装置、设备及计算机可读存储介质 | |
US11854003B2 (en) | Signature verification method, apparatus, and system | |
CA3049761C (en) | Method for providing payment gateway service using utxo-based protocol and server using same | |
CN107294729B (zh) | 区块链中不同节点之间的通信方法及装置 | |
KR102050129B1 (ko) | 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인 | |
US11336451B2 (en) | Cross-blockchain resource transmission | |
CN109981565B (zh) | 基于Meta-BFT共识机制的区块链平台及实现方法 | |
US9934229B2 (en) | Telemetry file hash and conflict detection | |
CN110740044B (zh) | 数据处理方法、装置、系统和存储介质 | |
CN111815321A (zh) | 交易提案的处理方法、装置、系统、存储介质和电子装置 | |
CN110599207A (zh) | 发票验证方法、装置、服务器及存储介质 | |
CN110599175A (zh) | 一种区块处理方法及相关设备 | |
CN111325585A (zh) | 一种资产转移方法、装置及计算机可读存储介质 | |
CN104158856A (zh) | 无需预先构建安全会话的本地api调用方法 | |
CN114567643A (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN111311259A (zh) | 票据处理方法、装置、终端及计算机可读存储介质 | |
CN110941840A (zh) | 一种数据处理方法、系统及终端 | |
CN113129002A (zh) | 一种数据处理方法以及设备 | |
CN105184559A (zh) | 一种支付系统及方法 | |
CN110598479B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN110851813B (zh) | 身份验证方法、区块链系统的节点装置和区块链系统 | |
CN112150158B (zh) | 一种区块链交易交付验证方法及装置 | |
CN110728504A (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 |