一种非主链区块自增长方法与流程

文档序号:16248653发布日期:2018-12-11 23:48阅读:606来源:国知局
一种非主链区块自增长方法与流程

本发明涉及区块链技术领域,尤其涉及一种非主链区块自增长方法。

背景技术

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。

目前主流区块链的区块均是固定大小,其大小在区块挖掘打包交易后就固定了,在特定情况下,需要区块能弹性增长,以便能适应具体的商业应用,但区块固定大小限制了区块链的应用范围,主要表现在以下几个方面:

(1)、少量交易时也得打包一个块,非得打包块后交易才算确认;

(2)、很难体现交易的相关性,有些交易可能需要经历多个时段才能完成,这些时段产生的信息和状态是强相关的;

(3)、重复生成交易记录打包进入新的区块,没有充分利用区块的空间,产生大量冗余信息,导致区块链体积快速膨胀;

(4)、智能合约需要多方介入或等待某个条件成立,需要保存各种状态数据,也可能涉及多个账户,需要根据条件进行循环跳转,客观上需要记录执行轨迹,目前记录散落在主链的不同区块中,难以查询和跟踪。



技术实现要素:

本发明的目的是为了解决现有技术中的问题,而提出的一种非主链区块自增长方法,目的是使区块链更好地利用区块空间,支持区块按需增长,解决区块的扩容难题和弹性增长难题,实现交易记录固定部分与可变部分的完美结合。

为了实现上述目的,本发明采用了如下技术方案:

一种非主链区块自增长方法,包括以下步骤:

(1)、区块头包含版本号与前一个区块尾的hash校验值,如果是第一个区块,则是主链交易记录和主链区块的复合hash校验值;

(2)、区块自增长结束时(达到某个指定大小),增加一个区块尾标识,统计本区块的交易数量和所有交易记录的hash值;

(3)、每增加一条交易记录时,要重新计算本区块头和之前交易的hash值,作为本交易的验证hash值,确保每条交易是基于之前交易,实现之前交易的不可篡改性;

(4)、当区块大小达到一定值后,增加一个尾部标识,锁定区块内容,确保不可篡改性,后续有新交易记录时,创建下一个区块。

优选的,所述区块尾部包含源地址、目的地址、交易序号、交易参数、数字签名、当前区块最终hash值和区块结束标志。

优选的,所述非主链区块可以根据需要单向增加记录,且增加的记录均为主链上记录的附属信息,所述附属信息只是主链信息的补充,可按照需求进行下载。

优选的,所述非主链区块上的每条记录均是基于主链记录和之前交易的hash校验值,所述每条记录均满足hash完备性要求,同时锁定了之前交易记录,形成了类似于主链的区块锁定。

优选的,所述非主链区块的区块头部和区块尾部均有一定的格式,后形成的一个区块需要同时基于前一个区块的区块头部和区块尾部,保证前一个区块的完整性。

优选的,所述主链记录与非主链区块的自增长记录一一对应,所述非主链区块的自增长记录是对主链记录的动态信息的补充,信息范围和目的单一。

优选的,所述非主链信息归属于主链记录,非主链区块各自独立,可以实现非主链的并行操作。

优选的,所述并行操作时,区块主链按通常规则管理,每个区块具备不可篡改性。

优选的,所述并行操作时,区块主链的交易记录可以按照需求引出非主链,且每个非主链的增长规则符合区块链规则。

优选的,所述并行操作时,所述非主链包含的信息附属于引出非主链的主链交易记录,所述非主链的使用范围限制在有限范围,从而实现每个非主链的并行操作。

与现有技术相比,本发明提供了一种非主链区块自增长方法,具备以下有益效果:

(1)、该非主链区块自增长方法,通过把区块格式设成由区块头部和区块尾部协同构成,区块头部和尾部共同引出新的区块,采用头尾映射区块格式,使区块链更好地利用区块空间,支持区块按需增长,解决区块的扩容难题和弹性增长难题,实现交易记录固定部分与可变部分的完美结合;

(2)、该非主链区块自增长方法,非主链区块的变化并不影响主链的继续增长,客观上确保了主链的独立性和完整性,非主链本身的增长仅仅记录了主链交易记录的后续状态变化,对主链的其他交易没有任何影响,对主链交易记录的区块也没有任何影响,非主链区块只归属于某个智能合约或某个交易记录,操作比较单一,记录信息更加纯粹,易于管理。

该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现,本发明结构简单,操作方便。

附图说明

图1为本发明提出的一种非主链区块自增长方法的流程图;

图2为本发明提出的一种非主链区块自增长方法的区块头部的构成图;

图3为本发明提出的一种非主链区块自增长方法的区块尾部的构成图;

图4为本发明提出的一种非主链区块自增长方法中的并行操作的示意图;

图5为本发明提出的一种非主链区块自增长方法中以协同交易链为例的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

实施例1

如图1-3所示,一种非主链区块自增长方法,包括以下步骤:

(1)、区块头包含版本号与前一个区块尾的hash校验值,如果是第一个区块,则是主链交易记录和主链区块的复合hash校验值;

(2)、区块自增长结束时(达到某个指定大小),增加一个区块尾标识,统计本区块的交易数量和所有交易记录的hash值;

(3)、每增加一条交易记录时,要重新计算本区块头和之前交易的hash值,作为本交易的验证hash值,确保每条交易是基于之前交易,实现之前交易的不可篡改性;

(4)、当区块大小达到一定值后,增加一个尾部标识,锁定区块内容,确保不可篡改性,后续有新交易记录时,创建下一个区块。

进一步的,区块尾部包含源地址、目的地址、交易序号、交易参数、数字签名、当前区块最终hash值和区块结束标志。

本发明提供了一种非主链区块自增长方法,具备自增长方法区块链的区块可以根据需要增加交易记录,新增加的交易基于以前交易的hash校验,也就是在新增加交易前的区块是hash完整的,新增加交易记录依赖本区块以前的已有交易记录,确保每次增加交易记录前的区块是完整的、不可篡改的,实现区块的弹性增长,本发明可以满足智能合约的状态机跳转轨迹和特定动态信息的管理,非主链区块格式由区块头部和区块尾部协同构成,区块头部和尾部共同引出新的区块,不再只依赖前一个区块的头部,一旦增加了区块尾部,则这个区块头部和尾部就囊括了区块的所有信息,标识了该区块不会再有任何变化。

实施例2

如图1-3所示,非主链区块可以根据需要单向增加记录,且增加的记录均为主链上记录的附属信息,不需要重新在主链上增加新的交易记录,有效地节约了主链区块空间,附属信息只是主链信息的补充,可按照需求进行下载,大部分节点可以忽略,节省同步下载流量,实现了非主链区块的弹性自增长;非主链区块上的每条记录均是基于主链记录和之前交易的hash校验值,每条记录均满足hash完备性要求,同时锁定了之前交易记录,形成了类似于主链的区块锁定,从而实现在有限空间内记录层层递进的不可篡改性;非主链区块的区块头部和区块尾部均有一定的格式,后形成的一个区块需要同时基于前一个区块的区块头部和区块尾部,保证前一个区块的完整性;主链记录与非主链区块的自增长记录一一对应,非主链区块的自增长记录是对主链记录的动态信息的补充,信息范围和目的单一,大大提高执行和查询效率。

实施例3

如图4所示,一种非主链区块自增长的并行操作,非主链信息归属于主链记录,非主链区块各自独立,可以实现非主链的并行操作;并行操作时,区块主链按通常规则管理,每个区块具备不可篡改性;并行操作时,区块主链的交易记录可以按照需求引出非主链,且每个非主链的增长规则符合区块链规则;并行操作时,非主链包含的信息附属于引出非主链的主链交易记录,非主链的使用范围限制在有限范围,从而实现每个非主链的并行操作,可以大幅度提高系统的整体处理效率。

实施例4

如图5所示,以协同交易链为例,协同交易主链中记录着协同交易智能合约的部署基本情况,协同交易智能合约的执行状态信息和跳转情况可以记录在非主链状态块中,每个协同交易就会派生处一个状态块,每次执行状态会记录在相对应的状态块中,由于协同交易状态块与协同交易一一对应,相互隔离,满足交易性能要求,协同交易每次执行产生一条状态记录,状态记录即为非主链区块的弹性增长部分,协同交易查询不产生状态记录。

非主链中的区块只记录该智能合约的变化情况,记录变动可以逐步增加,当智能合约的状态块执行结束后增加结束标识,标明本协同交易已经完整执行完毕,形成一个可变的状态记录区块,通过该可变区块,可以一目了然地查询协同交易的所有变动情况以及状态机执行轨迹,显著提高协同交易智能合约的执行和管理效率。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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