首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 一种区块链的扩展设计方法

一种链的扩展设计方法

阅读:0发布:2023-04-18

专利汇可以提供一种链的扩展设计方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 区 块 链 的扩展设计方法,包括状态链的设计。状态链存储区块链系统中所有账户状态信息,状态链对账户状态信息进行维护,状态链可以对区块链进行分支编号、分链、合链、并行建块操作。本发明增加状态链维护账户状态信息,使得区块链运行的更加的安全和高效。,下面是一种链的扩展设计方法专利的具体信息内容。

1.一种链的扩展设计方法,包括状态链设计;其特征在于,状态链存储区块链系统中所有账户状态信息,状态链对账户状态信息进行维护,状态链可以对区块链进行分支编号、分链、合链、并行建块操作。
2.根据权利要求1所述区块链的扩展设计方法,其特征在于,所述分支编号是指状态链针对区块链中的区块进行分支编号;所述分链是指将当前区块链的区块拆分成两条区块链;所述合链是指将两条原本分开的区块链合并在一起;所述并行建块是指对拆分后的两条区块链同时建块操作。
3.根据权利要求2所述区块链的扩展设计方法,其特征在于,若当前区块链的区块长度达到一定的阈值时,所述状态链会进行分链和并行建块操作。
4.根据权利要求2所述区块链的扩展设计方法,其特征在于,若区块链交易数量不多的时候,所述状态链会进行合链操作。
5.据据权利要求1至4任意一项所述的区块链的扩展设计方法,其特征在于,包括以下步骤:
步骤1 设区块链系统中有N个节点,各节点都会收取状态交易信息;状态交易来自于交易区块链,当交易区块链对账户信息进行更改时会向状态链发送交易;
步骤2 主节点会构建新区块,并广播到其他节点;
步骤3 各个节点对收到的区块进行验证,对验证的结果进行广播;
步骤4 各个节点收取其他节点的投票结果,使用其对应的公钥进行解密,验证数据的正确性;
步骤5 待步骤3中收取完其他所有节点的投票后,将这次投票内容一起加上自己的私钥签名后再次广播给其他所有节点;
步骤6 各个节点收取步骤4中各个节点所转发的投票信息,并用其对应的公钥进行解密,验证数据的正确性;
步骤7 各个节点将步骤5中收到的投票结果汇总;对验证通过的区块进行存储,各个节点都需要进行存储,存有完整的数据备份。

说明书全文

一种链的扩展设计方法

技术领域

[0001] 本发明涉及区块链技术领域,特别地,涉及一种区块链的扩展设计方法。

背景技术

[0002] 区块链(B l ockchai n)是指通过去集体参与方式维护一个可靠数据库的技术方案。该技术方案让参与系统中的任意多个节点,把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个区块(b l ock),并且生成该区块的指纹用于链接(chai n)下个区块和校验,系统所有参与节点来共同认定记录是否为真。
[0003] 区块链(B l ockchai n)是由首尾相连的区块所组成,每个区块包括一段时间内的信息或数据,并加盖了时间戳,根据上一个区块的索引哈希值(hash)衔接在一起,最终形成区块链。
[0004] 区块链(B l ockchai n)实现了两种记录:交易(transact i ons)以及区块(b l ocks)。交易是被存储在区块链上的实际数据,而区块则是记录确认某些交易是在何时,以及以何种顺序成为区块链数据库的一部分。交易是由参与者在正常过程中使用系统所创建的,而区块则是由称之为矿工的单位负责创建的。
[0005] 在当前区块链系统中,通常只有一条区块链用来存储历史的交易信息,区块链中的操作都依赖此区块链。同时,需要另外维护账户信息,比如比特币采用的UTXO,以太坊采用的传统数据库技术来存储额外的账户信息。这样的弊端在于各个节点之间都是各自维护账户信息,而不是利用区块链达到一致。而且信息也容易被篡改。
[0006] 这就迫切需要单独设计一个状态链对区块链系统的信息存储。这条状态链保留了原有的区块链的优势,同时加入了一些专属的特性,使得区块链更加的安全高效。

发明内容

[0007] 本发明所要解决的技术问题是提供一种区块链的扩展设计方法,增加一条状态链维护账户状态信息,使得区块链运行更加的安全和高效。
[0008] 一方面,本发明提供了一种区块链的扩展设计方法,包括状态链,状态链存储区块链系统中所有账户状态信息,状态链对账户状态信息进行维护,状态链可以对区块链进行分支编号、分链、合链、并行建块操作。
[0009] 在进一步的技术方案中,所述分支编号是指状态链针对区块链中的区块进行分支编号;所述分链是指将当前区块链的区块拆分成两条区块链;所述合链是指将两条原本分开的区块链合并在一起;所述并行建块是指对拆分后的两条区块链同时建块操作。
[0010] 为了提高区块链扩展性,在进一步的技术方案中,若当前区块链的区块长度达到一定的阈值时,所述状态链会进行分链和并行建块操作。
[0011] 为了提高区块链扩展性,在进一步的技术方案中,若区块链交易数量不多的时候,所述状态链会进行合链操作。
[0012] 在进一步的技术方案中,包括以下步骤:
[0013] 步骤1设区块链系统中有N个节点,各节点都会收取状态交易信息;状态交易来自于交易区块链,当交易区块链对账户信息进行更改时会向状态链发送交易;
[0014] 步骤2主节点会构建新区块,并广播到其他节点;
[0015] 步骤3各个节点对收到的区块进行验证,对验证的结果进行广播;
[0016] 步骤4各个节点收取其他节点的投票结果,使用其对应的公钥进行解密,验证数据的正确性;
[0017] 步骤5待步骤3中收取完其他所有节点的投票后,将这次投票内容一起加上自己的私钥签名后再次广播给其他所有节点;
[0018] 步骤6各个节点收取步骤4中各个节点所转发的投票信息,并用其对应的公钥进行解密,验证数据的正确性;
[0019] 步骤7各个节点将步骤5中收到的投票结果汇总;对验证通过的区块进行存储,各个节点都需要进行存储,存有完整的数据备份。
[0020] 本发明的核心优势在于对传统的区块链技术进行了扩展,创造性的提出了状态链的概念,增加状态区块链对账户状态信息进行维护。同时为了能够增加区块链的扩展性,增加了区块链的分链和合链操作。使得区块链系统可以方便针对系统压进行弹性增减。在区块链系统处理压力大的时候将区块分链,不同的分支分发到不同的机器去处理;当区块链系统压力小的时候,为节省区块 链系统资源,可以将区块链进行合并,减少需要处理的机器。合链可以节约区块链系统资源,分链操作可以通过将区块分支来将区块链系统的压力分发到不同的机器上,以达到负载均衡的效果。
[0021] 由于增加了状态链,交易区块链在对账户状态进行更改时需要对交易进行加。其他的交易若要修改某账户的状态,会先尝试获取交易锁。若能获取到锁才会进行修改,修改完成后将再释放锁;若无法获取到锁,则会进行等待,当其他加锁的交易处理完成后才会进行处理。这样,通过加锁操作会极大程度的保证区块链系统状态的安全性,不会出现多个交易同时处理时的账户信息错乱现象。
附图说明
[0022] 图1是本发明的分支编号模型示意图;
[0023] 图2是本发明的区块链的分裂示意图;
[0024] 图3是本发明的分支交易桶模型示意图。

具体实施方式

[0025] 为了更好的理解本发明实施例提供的技术方案,也更好的与本发明实施例的技术方案进行对比,下面首先通过举例的方式对现有技术中的实现方案进行简单的介绍。
[0026] 本发明首创了状态链,同时还针对状态链的特殊性独创了如下几个关键性的技术了,来保证此状态链的高效和安全。关键技术主要有如下四个:状态链分支编号模型;状态链分链操作;状态链并行建块,区块链合链。接下来分别阐述此四个关键性技术。
[0027] 1.状态链分支编号模型
[0028] 给每个区块链分支设置一个标号,初始分支为0。分叉后就变成00和01,并以此类推设置每个分支的编号。这样整个区块链的分支图看起来就像是一个二叉树的结构,如图1所示,这样新的区块只能在叶子节点上的分支增加,非叶子节点都是存放的历史区块的分支。
[0029] 2.状态链分链操作
[0030] 为了弹性的扩充区块链节点,使得区块链可以并行的建立区块,所以本发明设计了一种分链的操作,将一条区块链的分支分裂成2条链。区块分链操作 可以发生在任意的时刻和任何的分支上。本发明设计了一种根据区块链分支长度进行分链。具体的操作步骤如下:
[0031] 每轮建块结束需要存储时,判断当前分支是否达到分裂的阈值。若达到,则会在当前区块的基础上,将当前分支分裂成2个分支,这样新分支上开始2个区块都会以当前区块作为Pre_Hash。同时,新分支会并行进行建块。若未达到分裂的阈值,则不会进行分裂。如图2所示。
[0032] 3.状态链并行建块
[0033] 由于分裂后的分支会并行的建块,这就需要将新的交易分发到不同的分支的交易缓存中。交易分发采用类似轮询的机制进行交易的分发,以此来保证各个分支交易数量近乎平均,分支交易桶模型如图3所示,各个桶内部的交易数量近乎相同。在某分支建块失败后,交易信息不会丢失,会将交易重新写回到该分支的交易缓存中,参与下次建块。
[0034] 4.分支合并
[0035] 在区块链交易数量不多的时候,能够合并一些分支,以节约系统资源,这时候可以将原本分叉的区块链合并在一起。
[0036] 由于各个分支都有各自的分支号,所以在合并后的区块会有之前两个父区块的hash值。这样就需要在区块的头部中增加一个额外的Pre_Hash字段。默认时,区块只会用到一个Pre_Hash,只有位于合链位置的区块的会将两个父区块的哈希值。合并之后的分支号为两个父分支的合并,这样可以保证分支号的唯一,不会重复。
[0037] 实施例子
[0038] 假设区块链系统中有4个节点,分别为A节点、B节点、C节点、D节点,各个节点初始都处于0号分支。
[0039] 1)A节点、B节点、C节点、D节点都不断的接受交易区块链发来的账户状态信息。
[0040] 2)状态链根据收到的信息进入不断建块的循环中。
[0041] 3)当区块数量达到阈值a时,ABCD节点会都进行区块链的分裂。各个节点的分支都变成了2个分支:00和01。
[0042] 4)此时系统中会产生2个交易桶分别用于00和01两个分支的建块操作,各自的分支会处理各自的交易,不会产生错乱。
[0043] 5)如果需要将00和01两个分支合并,则新的区块会将00和01作为自己的两个Pre_Hash。同时新的区块分支号为0001。这个区块号也是唯一的,不可能重复。
[0044] 这样,系统不断的重复上述过程,不断的接收交易,进行分链、合链和建块操作,无限的往复下去。
[0045] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈