一种高效的区块链共识与交换系统的制作方法

文档序号:17772016发布日期:2019-05-28 19:32阅读:209来源:国知局
一种高效的区块链共识与交换系统的制作方法

本发明涉及区块链技术领域,尤其涉及高效率的区块链共识网络、跨链交换网络的组建。



背景技术:

区块链技术发展至今,由于整个网络基于p2p协议实现数据的同步,并主要采用工作量证明(pow)机制实现共识记帐,由于节点之间数据传输的时延因素,通过工作量证明的难度值往往不能设得太低,同时为保证区块的及时同步,区块的大小又不能设得太大,这些因素就限制了区块链单位时间所能容纳的交易数量。如当前以太坊的平均每秒的交易量为20个,每次交易的时延在10~20秒,而比特币网络的平均交均交易量为每秒5个,每次交易时延在10~20分钟。区块链当前的这种低效交易使其无法适用于具有大规模交易量需求和低时延需求的诸多应用场景,如滴滴打车高峰时每秒交易量在数万笔,时延要求在数秒内。



技术实现要素:

有鉴于此,本发明设计了一种高效的区块链共识与交换系统,通过本系统,可在确保区块链系统的开放性、安全性、数据不可篡改性等区块链特征的前提下,实现用户所发出的交易获得区块链网络的快速确认,并有效防止同一区块链网络中的单次同步区块数据过大的问题,大幅提升接入区块链网络应用节点的交易效率。为实现上述目的,本发明的技术方案是这样实现的:

如图1所示,设计一种高效的区块链共识与交换系统,系统包括区块链共识服务节点、区块链跨链交换节点、区块链应用节点等三类不同功能的节点;共识服务节点之间通过高速互联网络形成服务于某一业务领域的区块链共识计算网络,为该区块链网络中的应用节点提供共识计算服务;各跨链交换节点分别连入不同区块链网络,同步不同区块链网络的数据,跨链交换节点之间形成区块链交换网络,为不同区块链网络中的应用节点提供跨链数据访问服务。

如图1所示,区块链网络按所服务或应用的领域、业务不同,划分为不同的专门区块链网络;不同区块链网络,根据服务容量、交易效率的需求不同,接纳具有相应计算能力并能高速连入该区块链主网络的计算节点作为共识服务节点,由共识服务节点之间通过计算能力竞争向该区块链网络应用节点提供共识计算服务。

如图1所示,跨链交换节点分别接入不同区块链网络,并同步不同区块链区块数据,并在该节点上形成不同区块链网络的状态数据库。

如图2所示,应用节点的交易过程为:

第一步,应用节点向区块链网络发送交易;

第二步,区块链网络中共识服务节点将该交易纳入交易池中;

第三步,共识节点之间基于算力竞争(如采用pow机制)获取区块记帐权;

第四步,竞争获胜的共识服务节点使用从其交易池中的交易生成新区块;

第五步,生成区块的共识服务节点向网络广播新区块;

第六步,其余共识服务节点验证新区块,无误后纳入本地区块链并更新状态库;

第七步,应用节点从共识服务节点同步新区块,纳入本地区块链并更新其状态库。

如图3图所示,应用节点的跨链数据访问过程为:

第一步,应用节点从所获区块链网络中获得1个或数个跨链交换节点的地址;

第二步,应用节点向该跨链节点发送待访问区块链数据的请求;

第三步,跨链节点根据该请求查询待访问区块链的状态数据库;

第四步,跨链节点将该查询结果返回应用节点。

如图4所示,应用节点的跨链交易发送过程为:

第一步,应用节点从所获区块链网络中获得1个或数个跨链交换节点的地址;

第二步,应用节点向该跨链节点发送待发送交易区块链数据格式的请求;

第二步,跨链节点根据该请求查询交易发送目的地区块链交易格式;

第四步,跨链节点将该查询结果返回应用节点;

第五步,应用节点按该格式要求将跨链交易封装并发送跨链交换节点;

第六步,跨链交换节点收到跨链交易后,在目的地区块链内广播该交易;

第七步,目的地区块链共识服务节点收到交易后,置入交易池,并在算力竞争成功后将该交易纳入目的地区块链网络的新区块。

如图1所示,共识服务节点、应用节点中均设置有一个跨链交换节点状态数据库,跨链交换节点将定时向各区块链网络广播其节点地址信息,该节点地址信息将被各区块链共识服务节点、应用节点接收并更新其跨链交换节点库,超出一定时间未能收到广播信息的跨链节点信息将被共识服务节点、应用服务节点从其跨链交换节点库中删除。

本系统中的共识服务节点、应用节点与跨链交换节点,均为开放式接入,任何符合相应计算条件、网络条件的节点均可以在获得相应区块链软件,如共识服务节点软件、应用节点软件或跨链交换节点软件后自由加入,或不再需要区块链服务后,自由退出。

附图说明

图1一种高效的区块链共识与交换系统组成图。

图2应用节点链内交易流程图。

图3应用节点跨链访问流程图。

图4应用节点跨链交易发送流程图。

图5一个基于以太坊go语言客户端的本系统软件实施例组成图。

具体实施方式

下文中,以目前广泛使用的以太坊go语言客户端为例详细描述本发明的实施原理与优选实施例。

目前的以太坊go语言客户端既包括有用于区块数据同步、状态数据库生成、状态数据库查询、交易发送的以太坊客户端功能,又包括有用于交易数据归结、基于pow进行挖矿竞争、新区块生成与验证的服务端功能。由于网络中每个节点功能均是相同的,任何节点既可仅作为客户端,又可作为提供共识计算的服务端,为了保证网络中的数据能保持同步和算力竞争尽可能公平,挖矿难度一般自动调节在每15秒生成一个区块。由于上述机制,由该客户端所构建的以太坊网络,每秒的交易数大概在20个左右,每个交易被确认的时延平均在90秒以上(一个交易要被正式确认,一般要在第六区块之后再能被确认已进入主链)。

如图5所示,按照本发明所描述的系统和方法,对以太坊go客户端进行如下改造,将go客户端中的挖矿功能与应用访问功能分离,分别形成挖矿节点软件即共识服务节点软件和应用节点软件;修改挖矿节点的挖矿难度调节函数,使每个区块的生成时间缩短至100ms~1秒之间;将挖矿节点软件部署在节点之间网络时延较小处于高速互联的云节点上,节点之间的时延控制在50ms以内,挖矿节点的算力根据网络业务量动态提升;应用节点则无时延与算力限制,由应用用户根据自身应用情况决定其应用节点的算力及网络接入带宽。

另外,基于应用节点软件改造形成支持多区块链网络数据同步的跨链交换节点软件,该节点软件可同时运行多个区块数据同步进程,分别同步相应区块链区块数据,并更新本地该区块链的状态数据库。按前述方法设计应用节点与跨链交换节点之间的跨链数据访问和交易发送协议及软件功能。

基于上述方法即可以将当前低效的以太坊系统改造为一个可适用于大交易量的高效区块链系统。

综上所述,通过本发明可以实现一种高效的区块链共识与交换系统,根据区块链所服务领域或业务的不同,可构建不同的区块链服务网络,区块链服务网络之间通过跨链交换节点实现不同链之间的数据交换,使同一区块链内数据相关性增强、数据交换量大幅减少;通过在对区块链网络计算能力影响较大的共识服务节点之间构建高速互联网络,并根据网络交易需求及时提升共识计算服务节点的计算能力,从而大幅提升共识计算效率和增加单位时间可容纳交易量。

以上所述仅为本发明的实施例说明,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1