当前位置: 首页 > 专利查询>天津大学专利>正文

一种区块链系统分片协议的设计方法技术方案

技术编号:25804679 阅读:19 留言:0更新日期:2020-09-29 18:39
本发明专利技术涉及一种区块链系统分片协议的设计方法,对区块链相关结构和技术及本文使用到的技术进行了描述,并对典型的区块链系统分片协议Elastico、OmniLedger和RapidChain进行比较与分析;通过对分片方案、区块链网络、共识算法及交易处理等方面的研究,设计并实现区块链系统分片协议AcskChain,使用比特币交易数据对AcskChain进行了测试,实验表明,与典型的区块链系统分片协议相比,AcskChain在消息复杂度、吞吐量、出块延迟和存储上均有不同程度的改进。

【技术实现步骤摘要】
一种区块链系统分片协议的设计方法
本专利技术属于密码学和数据库领域,涉及一种区块链系统分片协议的设计方法。
技术介绍
区块链可以看作是一个分布式的数据库,所有的数据以区块的形式按照时间顺序串联成一个链式结构,每个加入并参与验证的节点保存着完整的区块链数据,节点之间通过共识算法对新添加的数据区块达成一致性意见。哈希算法又称为散列算法,是将任意长度的输入数据转换为较短的固定长度的输出数据的算法,相应的输出数据被称为哈希结果或者数据摘要。哈希算法具有正向快速性、抗碰撞、不可逆的特点,使用哈希算法可以快速地计算出一个数据的哈希结果,数据的任何微小变动都会导致计算出的结果发生巨大变化,并且只知道哈希结果是无法逆推出原始数据的,因此哈希算法被广泛用于数据校验中。区块链系统中常用的哈希算法是SHA256。数字签名技术是利用非对称加密算法对数据进行电子签名的技术,签名者使用持有的私钥对数据进行签名,持有对应公钥的人则可以验证数据的有效性、合法性,以比特币为代表的区块链系统主要使用的是ECDSA签名算法。Boneh等人提出可验证延迟函数(VerifiableDelayFunctions,VDF),用来解决生成随机结果的公开数据源被恶意操纵的问题。P2P网络架构中的参与者既是客户端也是服务器,参与者之间可以互相进行资源分享,避免了服务器的转发流程,使得整个网络的运行无需中心化的管理机构。为了获得系统给予的奖励,区块链网络中的每个节点都试图向链上添加区块,然而如果每个节点都添加区块,那么一笔交易可能被包含在多个区块中,同时每个节点添加的区块也不完全相同,造成节点之间维护的区块链数据不一致,最终导致整个系统失效。为了解决这个问题,区块链系统使用各种共识算法使得网络中互不信任的节点一起工作,并对添加到链上的数据达成一致性意见。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种区块链系统分片协议的设计方法,在探究基于分片技术的区块链系统的实现原理与实现机制的基础之上,通过对分片方案、区块链网络、共识算法及交易处理等方面的研究,设计并实现高效的区块链系统分片协议。本专利技术解决其技术问题是通过以下技术方案实现的:一种区块链系统分片协议的设计方法,其特征在于:所述方法的步骤为:1)设计AcskChain分片方案,并对传统网络分片方法进行改进;2)实现交易的定向传播的ShardKad协议,并提出节点信誉度计算方法和基于节点信誉度与延迟的节点列表更新策略;3)使用CBFT算法,降低共识过程中的消息复杂度并减少共识所需时间;4)将保证交易提交原子性的三阶段提交协议与CBFT算法相结合,对Atomit进行了性能分析。而且,所述步骤1)的具体步骤为:基于VDF与VRF的网络分片方法,使用算力资源限制恶意节点的加入,采用具有更多优势的基于账户的交易分片与状态分片方法。而且,所述步骤2)提出节点信誉度计算方法和基于节点信誉度与延迟的节点列表更新策略,具体步骤为:使用256位的公钥作为节点ID,从右向左截取节点ID可以用来表示委员会数量的最少有效位数长的id映射某一委员会,从而在节点列表中构造一个委员会桶用来保存某一委员会内的节点;同时,在节点列表的其他编号桶中依据节点id的异或结果的最高不同位将节点保存到桶中;此外,构造一个额外的所属委员会桶,用来保存节点同一委员会内的其他节点;通过节点行为计算节点信誉度,并使用节点信誉度判断该节点是否是恶意节点,采用直接信誉度、间接信誉度以及群组信誉度三种度量标准进行节点信誉度的计算。而且,所述步骤3)使用CBFT算法,降低共识过程中的消息复杂度并减少共识所需时间,具体步骤为:节点使用节点信誉度和延迟更新节点列表,输入节点的ID,节点的综合时期信誉度sRep,节点之间的延迟d,当前的时期信誉度阈值h,桶的容量k,更新前的节点列表dht,通过该算法输出更新后的节点列表dht。本专利技术的优点和有益效果为:1、本专利技术对区块链相关结构和技术及本文使用到的技术进行了描述,并对典型的区块链系统分片协议Elastico、OmniLedger和RapidChain进行了比较与分析;通过对分片方案、区块链网络、共识算法及交易处理等方面的研究,设计并实现了区块链系统分片协议AcskChain,使用比特币交易数据对AcskChain进行了测试,实验表明,与典型的区块链系统分片协议相比,AcskChain在消息复杂度、吞吐量、出块延迟和存储上均有不同程度的改进。附图说明图1为AcskChain的系统架构图;图2为cskChain的运行流程图;图3为三阶段提交协议图;图4为Atomit询问阶段图;图5为Atomit锁定阶段图;图6为Atomit提交阶段图。具体实施方式下面通过具体实施例对本专利技术作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本专利技术的保护范围。本专利技术设计并实现区块链系统分片协议AcskChain,图1为AcskChain系统架构图,图2为AcskChain的运行流程图,设计步骤包括:步骤S0101:获取系统随机数后计算VDF参数,使用自身公钥作为参数执行VDF和VRF,如果当前时间未超过系统的限制时间,将结果广播给其他节点。步骤S0102:获取系统随机数然后初始化VDF参数、节点集合和委员会集合,在系统限制时间内接收其他节点的广播消息,接收其他节点的计算结果。然后判断节点是否注册过并验证节点的计算结果,若验证通过,将其加入到节点集合中。接着将节点集合按照result2从小到大排序,最后将节点划分到不同的委员会内。步骤S0201:直接信誉度由节点之间直接的交互行为计算得到,计算公式为:其中:ai,j表示节点i与节点j的成功交互系数;βi,j表示节点i与节点j的失败交互系数;Db表示直接信誉度基数。成功交互时αi,j=αi,j+1;失败交互时,若节点在一段可接受的延迟内回复,则βi,j=βi,j+1,若节点长时间之后回复甚至不回复,则βi,j=βi,j+3。步骤S0202:间接信誉度由两个节点通过中间节点计算得到,计算公式为:其中:节点k是节点i和节点j的共同的中间节点;φ表示间接信誉度系数。步骤S0203:群组信誉度由群组对外的交互行为计算得到,计算公式为:其中:μi表示Ci的正确出块次数;μj表示Cj的正确出块次数;ωj表示Cj的错误出块次数;Gb表示群组信誉度基数。步骤S0204:节点内部信誉度由委员会内其余节点对其共识行为的信誉度评分计算得到,计算公式为:其中:gi是节点i的一个时期的内部信誉度计算函数;gj,i表示节点j在当前时期内以gb为基础值经过多次共识投票后得到的对节点i的内部信誉度评估值;tRep本文档来自技高网
...

【技术保护点】
1.一种区块链系统分片协议的设计方法,其特征在于:所述方法的步骤为:/n1)设计AcskChain分片方案,并对传统网络分片方法进行改进;/n2)实现交易的定向传播的ShardKad协议,并提出节点信誉度计算方法和基于节点信誉度与延迟的节点列表更新策略;/n3)使用CBFT算法,降低共识过程中的消息复杂度并减少共识所需时间;/n4)将保证交易提交原子性的三阶段提交协议与CBFT算法相结合,对Atomit进行了性能分析。/n

【技术特征摘要】
1.一种区块链系统分片协议的设计方法,其特征在于:所述方法的步骤为:
1)设计AcskChain分片方案,并对传统网络分片方法进行改进;
2)实现交易的定向传播的ShardKad协议,并提出节点信誉度计算方法和基于节点信誉度与延迟的节点列表更新策略;
3)使用CBFT算法,降低共识过程中的消息复杂度并减少共识所需时间;
4)将保证交易提交原子性的三阶段提交协议与CBFT算法相结合,对Atomit进行了性能分析。


2.根据权利要求1所述的区块链系统分片协议的设计方法,其特征在于:所述步骤1)的具体步骤为:基于VDF与VRF的网络分片方法,使用算力资源限制恶意节点的加入,采用具有更多优势的基于账户的交易分片与状态分片方法。


3.根据权利要求1所述的区块链系统分片协议的设计方法,其特征在于:所述步骤2)提出节点信誉度计算方法和基于节点信誉度与延迟的节点列表更新策略,具体步骤为...

【专利技术属性】
技术研发人员:王建荣王玥璇刘志强高洁徐天一赵满坤高应磊
申请(专利权)人:天津大学
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1