首页> 中国专利> 一种用于工业物联网中提高区块链公平交易及效率的设计方法

一种用于工业物联网中提高区块链公平交易及效率的设计方法

摘要

本发明提供的一种用于工业物联网中提高区块链公平交易及效率的设计方法,包括以下步骤:首先、继承水果链的挖矿公平性,引入交易打包和传播策略;1)、基于几何分布的交易选择,每个矿工都遵循几何分布来选择和打包交易,以平衡处理公平性并减少交易的重复打包,同时在一定程度上避免重复打包;2)、基于TTL的交易传播,通过施加交易转发的time‑to‑live或跳数限制来限制交易的广播范围,通过控制交易的传播来减少矿工交易池中重复交易的数量,进一步抑制区块链的重复打包;最终,精细地调整矿工的交易选择,实现交易处理的公平性,同时大大减轻重复打包;以实现交易处理的公平性、并有效提高处理效率。

著录项

  • 公开/公告号CN112990923A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 赵庆林;

    申请/专利号CN202110257456.6

  • 申请日2021-03-09

  • 分类号G06Q20/38(20120101);G06Q20/08(20120101);

  • 代理机构44202 广州三环专利商标代理有限公司;

  • 代理人卢泽明

  • 地址 519000 广东省珠海市香洲区前山前信街208号2栋1单元1001房

  • 入库时间 2023-06-19 11:29:13

说明书

【技术领域】

本发明涉及区块链技术,尤其涉及一种用于工业物联网中提高区块链公平交易及效率的设计方法。

【背景技术】

区块链是一种集共识算法、智能合约、分布式账本,非对称加密算法等关键技术为一体的技术,具有去中心化、规则应用去信任、安全保护去垄断等特点。区块链上有众多节点,区块链的节点是保存数据的网络或者服务器成员或系统,可发出、接收和验证消息。按照功能分可分为普通节点、备份节点和超级节点,其中普通节点可以进行区块同步并可以对交易进行广播但不能进行记账的节点,备份节点具有和普通节点一样的功能,并且还具有维护超级节点的备份的功能,超级节点拥有普通节点的属性和操作,作为上层网络的实际执行者,具有管理和组织的功能,上下层网络的转发都需要经过超级节点,超级节点包含了普通节点所有的功能。区块链上进行着大量的交易,节点之间的高效通信保证了交易的快速达成。

尤其在工业物联网中,正在推动工业生产中前所未有的效率、生产率和性能水平。在工业物联网中,大量传感器、设备和机器互联以收集和交换数据,然后可以通过云/边缘节点对这些数据进行处理,以优化、细化和自动化工业过程控制。但是,工业物联网节点和边缘/云节点可能不会完全相互信任,这会引发严重的信任和安全性等问题。当前,学术界和工业界正在尝试将区块链应用于工业物联网或集成到工业物联网中以解决这些问题。如图1所示,在典型的工业物联网边缘/云区块链框架中,这些工业物联网节点和边缘/云节点是矿工(即,区块链P2P网络的参与者)并且他们花费计算能力来竞争成为一个leader(共识达成),该leader(共识达成)负责将交易打包到一个新块中,并将该新块广播到P2P网络中。当网络中的节点收到该新区块时,他们就以该区块中包含的交易达成共识。边缘/云节点的计算能力差异很大,并且工业物联网应用程序的要求各不相同,这就需要两种公平性。

(1)、挖矿公平性,矿工应根据其投入的计算能力获得相应奖励/发布区块的机会,工业物联网节点受资源限制,因此其计算能力远低于边缘/云节点,这将导致严重的不公平现象,例如工业物联网节点可能没有发布新区块的机会,并且边缘/云节点可能会发起自私挖矿的攻击。

(2)、交易处理的公平性,工业物联网应用程序需要公平的交易处理,即按期望的顺序打包交易,例如先进先出和最高处理费。

现有的基于非许可的Nakamoto区块链协议可以在互不信任的节点之间传递信息和价值,但计算量巨大,并且可能导致挖矿不公平,而许可区块链协议(例如HyperledgerFabric)假设节点之间具有一定程度的信任。因此,这些区块链协议不适用于工业物联网场景。

作为最近提出的非许可区块链协议,水果链(FruitChain)可以在某种程度上克服基于Nakamoto区块链协议的上述缺点。与中本聪的区块链相比,它引入了一种新颖的水果概念。水果像常规块一样包含许多交易。但是,挖出一个水果要比挖出一个区块容易得多,因此水果链减少了算力消耗,同时任何矿工都可以独立执行哈希操作来挖出一个水果而无需依赖于矿池。一旦挖到一个水果,矿工将其链接到现有区块,并同时将其广播给其他矿工;然后将这个水果包括在新挖出的一个区块中。如果上链的非孤立块与包含该水果的块之间的间隔小于一个阈值,则该水果有效。水果的有效性可以防止自私挖矿的攻击。在水果链(FruitChain)中,每个矿工在挖水果时获得相当的机会成为一个leader(达成共识),同时凭借其投入的计算能力获得了相应的回报。总而言之,水果链(FruitChain)具有三个显着特征:水果的有效性,挖出一个水果的难度低以及相称的奖励分配。这三个特征共同保证了挖矿的公平性。

如上所述,工业物联网应用程序要求挖矿公平和交易处理公平。水果链(FruitChain)最初旨在实现挖矿的公平性。使其能够支持交易处理公平性是一个挑战。公平性支持意味着按一种期望的顺序打包和确认交易,例如先进先出和最高手续费优先的顺序。但是,在水果链(FruitChain)中,矿工按照相同的模式(即所提之顺序)打包交易以实现交易处理的公平性,这将导致严重的重复打包问题(即许多矿工将相同的交易打包到水果中);相反,如果矿工在不遵循相同模式的情况下打包交易,则会破坏交易处理的公平性。

简而言之,工业物联网应用程序对实现两种公平性的需求推动了这项研究,如何能够使区块链上的节点之间进行更加有效的通信方法是现在各学者关注的重点问题之一。

【发明内容】

本发明提供一种根据几何分布选择交易并传播具有time-to-live限制的交易,以实现交易处理的公平性、并有效提高处理效率的用于工业物联网中提高区块链公平交易及效率的设计方法。

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

一种用于工业物联网中提高区块链公平交易及效率的设计方法,包括以下步骤:

首先、继承水果链的挖矿公平性,引入交易打包和传播策略,平衡交易处理公平性和重复打包;

1)、基于几何分布的交易选择,每个矿工都遵循几何分布来选择和打包交易,矿工尽可能多地选择要按顺序打包的交易,以平衡处理公平性并减少交易的重复打包,同时在一定程度上避免重复打包;

2)、基于TTL的交易传播,通过施加交易转发的time-to-live或跳数限制来限制交易的广播范围,通过控制交易的传播来减少矿工交易池中重复交易的数量,进一步抑制区块链的重复打包;

最终,精细地调整矿工的交易选择,实现交易处理的公平性,同时大大减轻重复打包。

进一步地,所述步骤1)中将先进先出作为公平交易处理的公平性要求,具体包括以下步骤:

1.1)、矿工按照交易到达时间的升序对交易池中的交易进行排序,然后将该顺序依次将交易打包进水果;

1.2)、矿工选择随机地打包交易,以大大减少重复打包;

1.3)、同时,从全局角度,交易仍按顺序被打包的,并且更多的交易能被处理,以平衡处理公平性并减少交易的重复打包;

1.4)、减少重复打包,要求交易打包应尽可能减少重复打包的可能性。

进一步地,所述步骤1.3)在处理过程的公平性中,从全局的角度上,连续并尽早地打包到达时间较早的交易。

进一步地,所述步骤1.4)在减少重复打包中,还包括以下步骤:

a、在(0,1)中的随机数和在TP中的记录序列号之间,令TP表示为一个矿工的交易池,其中交易池TP中的交易按其到达时间的升序排序;

b、根据参数p的几何分布从交易池TP中选择交易,每个矿工总是从交易池TP的第一笔交易开始,并决定是否以概率p打包该交易,直到成功为止;

c、矿工重复此过程,直到没有待处理的交易或水果装满为止,令I表示一个矿工以概率P成功打包的第一个序列号,I服从几何分布,如公式(1)所示,

d、找到满足参数p的几何分布的一个í,矿工首先生成一个随机数I∈(0,1),然后令U=P(I≤i),最后通过以下公式(2)计算í:

e、然后,矿工将TP中序列号等于í的交易进行打包;

f、基于几何分布的交易选择,借助如下所示的算法1,将交易池TP、水果大小n、几何分布参数p和交易池TP中的交易数量作为输入,并输出一个水果F;

算法1

一开始,矿工首先按照交易到达时间升序对交易池TP中的交易进行排序;

然后,初始化一个水果;

此后,只要交易池TP不为空且新水果F未装满,矿工就继续从交易池TP中选择交易;

在第6至7行中,矿工根据参数为p的几何分布来计算í;

在第8行中,如果í超过交易池TP的长度,将í重置为交易池TP中序列号的范围的值;

然后,矿工将在交易池TP中的第í个交易打包并将其从交易池TP中删除。

进一步地,所述步骤2)基于TTL的交易传播中,区块链协议运行在P2P网络上,为了进一步抑制区块链的重复打包,具体包括以下步骤:

2.1)、在P2P网络中,信息的传输使用Gossip协议,通过采用Gossip协议,产生新交易的矿工将向其b个peer节点发布该交易;

2.2)、然后,b个peer节点继续将交易中继到它们的b个peer节点,从而进一步将交易发送给它们的peer节点,直到该交易到达整个网络;

2.3)、通过如下所示的算法2,显示矿工如何使用Gossip协议发布或中继交易;

算法2

矿工首先从其Peers列表中随机选择b个peer节点,并将它们存储到待处理的Peers列表C;

然后,它将交易发送到C中的每个peer节点;

2.4)、基于TTL的交易传播,通过控制交易的传播来减少矿工交易池中重复交易的数量;

根据如下列式(2a)所示的TTL的事务传播,

当节点A生成新的交易tx

然后,该节点调用Gossip协议将tx

一旦节点B和节点C收到tx

如果TTL>0,则该节点继续将tx

进一步地,所述步骤2.4)中,处理一个交易的过程,具体包括以下步骤:

根据如下所示的算法3,一个节点在基于TTL的交易传播下处理一个交易的过程,将一个交易tx、节点的Peers列表、待处理的peer节点数量b和TTL默认值T作为输入;

算法3

首先,它检查交易tx是否有TTL字段;

如果是,节点将TTL减少1,否则,它创建一个TTL字段;

如果不是,它为tx

之后,节点判断tx:TTL是否大于0,如果tx:TTL大于0,则调用以tx、Peers、b为输入的Gossip协议,将tx发送给b个peer节点。

本发明的有益效果是:

本发明的面向工业物联网的区块链协议,基于水果链(FruitChain)进行设计,因此继承了水果链良好的挖矿公平性的优势;该协议不仅支持挖矿公平性,而且还支持交易处理公平性;挖矿的公平性通过矿工根据其投入的计算能力获得相应的奖励/发布区块的机会,交易处理的公平性通过交易的打包和确认以期望的顺序进行,例如先进先出或最高手续费优先的顺序;为了在公平交易处理和重复打包之间进行权衡,即将同一个交易打包进多个水果,该协议包含两种引入的方案:1)、基于几何分布(Geo)的交易选择,即每个矿工都遵循几何分布来选择和打包交易;2)和基于TTL的交易传播,通过施加交易转发的time-to-live或跳数限制来限制交易的广播范围;基于几何分布(Geo)的交易选择实现了较高的交易处理公平性,基于TTL的交易传播则缓解了重复打包的问题;这两种方案可以精细地调整矿工的交易选择,以实现交易处理的公平性,同时大大减轻了重复打包的问题。

【附图说明】

图1是现有技术中工业物联网的边缘/云区块链框架图;

图2是现有技术中工业物联网的水果链框架图;

图3是现有技术中一个重复打包的示例图;

图4是本发明在矿工打包交易时出现重复拣选的统计图;

图5是本发明中U((0,1)中的随机数)和i(在TP中的记录序列号)之间的关系图;

图6是本发明中tx

图7是分别绘制的公平性随着网络延迟τ在5到50变化而变化的曲线图;

图8是分别比较水果链、基于几何分布交易选择的水果链和本发明区块链的重复打包的平均概率趋势图。

【具体实施方式】

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。需要说明的是,在附图和说明书描述中,相似或相同部分都使用相同的符号。虽然本发明提供了一些特定值得参数范围,但应了解,参数无需确切等于相对应的值,而是在可接受的误差容限内近似于相应的值。

本申请是基于水果链(FruitChain)用于工业物联网中的区块链设计,首先对水果链(FruitChain)进行概述。

1)、水果链(FruitChain)和挖矿公平性:

在水果链(FruitChain)中,如图2所示,有两种不同的数据结构:水果(如图2中的苹果和香蕉)和区块(如图2中的正方形)。水果由交易组成,而一个区块由水果组成。它们都是通过工作量证明(PoW)挖矿产生的。一个水果链(FruitChain)矿工通过执行PoW来同时挖出一个水果和一个区块,但是挖出水果和区块的难度有所不同。挖出一个水果的难度远低于挖出一个块的难度。即使是单个矿工,也可以在相对较短的时间内生成一个水果,从而无需矿池。一旦挖出一个水果,矿工将大量的交易打包到该水果中,然后将其链接到现有区块(如图2中的虚线表示)。当挖出一个区块时,矿工将收到的有效水果打包到该区块中。一个水果是有效的是指,一个包含该水果的区块以及它所链接的区块之间的间隔小于一个阈值。在图2中,如果阈值为3,则苹果有效,因为其间隙为2(小于阈值),而香蕉由于间隙为3(不小于阈值)而无效。这种机制可防止将已经生成了很长时间的水果被打包到区块链中,从而避免攻击者扣留挖出的水果以进行自私挖矿的攻击。挖矿奖励和交易手续费根据他们挖出的水果数量平均分配给矿工们。因此,水果链(FruitChain)减少了奖励的方差,并实现了投入的计算资源并给出相应的奖励。也就是说,如果矿工投入

2)、交易处理的公平性:在水果链(FruitChain)中,当矿工产生一个新水果时,它会从其交易池中选择一些缓存的交易将它们打包到水果中。选择过程必须是随机的,而不是以确定性的方式(即遵循相同的模式)。原因可以解释如下:在去中心化架构中,每个矿工以确定的方式独立打包交易将导致严重的交易重复打包问题。对于一般应用程序,是否以确定的方式选择交易进行打包并不重要,但是,对于工业物联网的应用程序,可能需要公平的交易处理(打包和确认)。也就是说,矿工首先按特定顺序对交易进行排序(例如按到达时间、交易手续费、用户优先级),然后按该顺序选择并打包交易。

3)、重复打包:在水果链(FruitChain)中,由于网络延迟和挖出一个水果的难度低,一个交易可能被打包到多个水果中,称之为重复打包。当交易以确定的顺序打包时,此问题更加严重。下面,将详细介绍重复打包的问题。

在水果链(FruitChain)中,交易分散到整个网络,因此每个矿工几乎缓存相同的交易。在很短的时间间隔内,由于挖水果的难度较低,不同的矿工可能会独立地产生几个水果。每个挖出的水果均包含矿工从其缓存的交易集中选出的交易。结果,一个交易可能被重复打包进多个水果。严格来说,给出如下重复打包的定义:

定义1:在水果链(FruitChain)中,重复打包定义为一个交易被打包到大于1个的水果中。

图3给出了一个重复打包的示例。为了简单起见,我们假定一个水果只是一组交易的集合,而不考虑其他组成因素。在时间t

因此,本申请通过扩展水果链(FruitChain),设计的区块链在避免重复打包的同时实现了公平的交易处理,因此水果链(FruitChain)适用于工业物联网应用。

一种用于工业物联网中提高区块链公平交易及效率的设计方法,包括以下步骤:

首先、继承水果链(FruitChain)的挖矿公平性,引入交易打包和传播策略,平衡交易处理公平性和重复打包;

1)、基于几何分布(简称Geo)的交易选择,每个矿工都遵循几何分布来选择和打包交易,矿工尽可能多地选择要按顺序打包的交易,以平衡处理公平性并减少交易的重复打包,同时在一定程度上避免重复打包;

2)、基于TTL的交易传播,通过施加交易转发的time-to-live或跳数限制来限制交易的广播范围,通过控制交易的传播来减少矿工交易池中重复交易的数量,进一步抑制区块链的重复打包;

最终,精细地调整矿工的交易选择,实现交易处理的公平性,同时大大减轻重复打包。

在步骤1)中将先进先出(FIFO)作为公平交易处理的公平性要求,具体包括以下步骤:

1.1)、矿工按照交易到达时间的升序对交易池中的交易进行排序,然后将该顺序依次将交易打包进水果;

但是,每个矿工以确定的方式(即,遵循相同的模式)进行交易打包将导致严重的重复打包问题。

1.2)、矿工选择随机地打包交易,以大大减少重复打包;

例如,考虑10个已按到达时间升序排列的交易;如图4(a)所示,当矿工以确定性方式打包交易时出现重复拣选,如果矿工按顺序打包交易,则所有4个交易都被重复打包。相反,图4(b)显示,当矿工随机打包交易时没有重复拣选,如果矿工A随机打包交易1、3、5和7,而矿工B随机打包交易2、4、6和8,则无重复打包的交易。

1.3)、同时,从全局角度,交易仍按顺序被打包的,并且更多的交易能被处理(这意味着吞吐量增加),以平衡处理公平性并减少交易的重复打包;

处理过程的公平性:这要求从全局的角度上看,连续并尽早地打包到达时间较早的交易。

例如,如图4(b)所示,尽管每个矿工没有顺序地选择交易,但是交易1至8几乎是按到达时间的升序连续地被选择。

1.4)、减少重复打包,要求交易打包应尽可能减少重复打包的可能性。

其中,步骤1.3)在处理过程的公平性中,从全局的角度上,连续并尽早地打包到达时间较早的交易。例如,如图4(b)所示,尽管每个矿工没有顺序地选择交易,但是交易1至8几乎是按到达时间的升序连续地被选择。

在步骤1.4)在减少重复打包中,还包括以下步骤:

a、在(0,1)中的随机数和在TP中的记录序列号之间,令TP表示为一个矿工的交易池(即包含待处理交易的集合),其中交易池TP中的交易按其到达时间的升序排序;

b、根据参数p的几何分布从交易池TP中选择交易,每个矿工总是从交易池TP的第一笔交易开始,并决定是否以概率p打包该交易,直到成功为止;

c、矿工重复此过程,直到没有待处理的交易或水果装满为止,令I表示一个矿工以概率P成功打包的第一个序列号,I服从几何分布,如公式(1)所示,

d、找到满足参数p的几何分布的一个í,矿工首先生成一个随机数I∈(0,1),然后令U=P(I≤i),最后通过以下公式(2)计算í:

e、然后,矿工将TP中序列号等于í的交易进行打包;

如图5所示,给出了U和í之间的关系。从此图可以看出,当概率U=90%时,如果p=0.3,则一个值小的í(即从1到6)的交易被打包,如果p=0.1,则一个值大的í(即,从1到21)的交易被打包。

f、基于几何分布的交易选择,借助如下所示的算法1,将交易池TP、水果大小n、几何分布参数p和交易池TP中的交易数量作为输入,并输出一个水果F;

算法1

一开始,矿工首先按照交易到达时间升序对交易池TP中的交易进行排序(第2行);

然后,初始化一个水果;

此后,只要交易池TP不为空且新水果F未装满,矿工就继续从交易池TP中选择交易(第5行);

在第6至7行中,矿工根据参数为p的几何分布来计算í;

在第8行中,如果í超过交易池TP的长度,将í重置为交易池TP中序列号的范围的值;

然后,矿工将在交易池TP中的第í个交易打包并将其从交易池TP中删除(第9到10行)。

其中,步骤2)基于TTL的交易传播中,区块链协议运行在P2P网络上,为了进一步抑制区块链的重复打包,具体包括以下步骤:

2.1)、在P2P网络中,信息的传输(例如交易、区块、水果)使用Gossip协议,通过采用Gossip协议,产生新交易的矿工将向其b个peer节点发布该交易;

2.2)、然后,b个peer节点继续将交易中继到它们的b个peer节点,从而进一步将交易发送给它们的peer节点,直到该交易到达整个网络;

2.3)、通过如下所示的算法2,显示矿工如何使用Gossip协议发布或中继交易;算法2如下:

算法2

矿工首先从其Peers列表中随机选择b个peer节点,并将它们存储到待处理的Peers列表C(第2行);

然后,它将交易发送到C中的每个peer节点;

现在,根据区块链的重复打包问题,如果矿工在其交易池中拥有几乎相同的交易,由于网络延迟,很有可能将相同的交易打包到水果中。因此,进行如下的TTL的交易传播。

2.4)、基于TTL的交易传播,通过控制交易的传播来减少矿工交易池中重复交易的数量;

根据如下列式(2a)所示的TTL的事务传播,

当节点A生成新的交易tx

然后,该节点调用Gossip协议将tx

一旦节点B和节点C收到tx

如果TTL>0,则该节点继续将tx

根据如下所示的算法3,一个节点在基于TTL的交易传播下处理一个交易的过程,将一个交易tx、节点的Peers列表、待处理的peer节点数量b和TTL默认值T作为输入。

算法3

首先,它检查交易tx是否有TTL字段(第2行);

如果是,节点将TTL减少1(第3行),否则,它创建一个TTL字段;

如果不是,它为tx

之后,节点判断tx:TTL是否大于0,如果tx:TTL大于0,则调用以tx、Peers、b为输入的Gossip协议,将tx发送给b个peer节点。

接下来,建立一个理论模型来分析本发明设计的区块链,通过大量的仿真,进行概率分析以量化交易处理的效率,并定义基于欧几里得距离的公平度以衡量交易处理的公平性,分析本发明对应区块链的重复打包概率。

假设以跳数表示本发明整个区块链网络的半径,以Tmax表示。考虑一个稳定的区块链网络,并且系统始终有N个待处理的交易。每个矿工从网络接收N′(N′≤N)个交易,并将它们独立打包进水果。每个水果包含n(n<N′)个交易,并且水果的生成过程遵循带有参数μ的泊松过程。矿工生成水果时,会从其缓冲的N′个待处理的交易中独立选择n个。

如图3所示,假设一个矿工在时间t1生成一个水果F

A.基于TTL交易传播的水果链(FruitChain)

假设有O个矿工的水果链(FruitChain)在P2P网络中,每个矿工向其b个邻居发布/中继一笔交易,考虑一个标记的tx

当T=Tmax时,基于TTL交易传播,退化为原始的水果链(FruitChain)协议;在这种情况下,交易被散布到整个水果链(FruitChain)网络中(r=1),因此每个矿工缓冲N’,N′=N个相同的交易。

当T<Tmax时,在一笔交易已转发了T跳之后(已被r比例个矿工接收),该交易将不再被转发。在这种情况下,矿工以概率r接收并缓存交易。因此,每个矿工缓存N’,N’=Nr个交易;但是,由于交易传播的TTL限制,每个矿工缓存的N0个交易可能会有所不同。因此,考虑到的tx

在这种基于TTL交易传播中,每个矿工从N

在F

令Z表示tx

然后,给定Y个水果,tx

进一步,考虑所有Y的值,如公式(7)计算tx

注意:当n≥N时,所有N个交易将被打包到每个水果中,因此tx

B.基于几何分布(简称Geo)交易选择的水果链(FruitChain)

在基于几何分布(简称Geo)的交易选择中,每个矿工从N′,N′≤N个交易中按照几何分布选择其中的n个交易(即选择n个回合),并将它们打包进一个水果。在矿工的交易池中,对于第i笔交易tx

f(i)=P(I=i)=(1-p)

进一步,经过n轮选择后该交易将被打包的概率如公式(9)所示:

其中q(i,j)是在第j轮选择tx

假设在第j-1轮中选择了第k个交易tx

a、1≤k≤i-1,因为在j-1轮中选择了tx

b、k=i,因为在j-1轮中选择了tx

c、i+1≤k≤N′,在j-1轮中选择tx

借助以下所示的表I,以n=4为例(即选择4个回合),阐述q(i,j)和s(i)的计算。

当j=1时,表示一个矿工在第一轮中打包tx

当j=2(即在第一轮未选择tx

表I

在第二轮中,tx

当i+1≤u≤N,其概率是选择tx

结合以上两种情况,我们得到q(i,2)=②+③。

类似地,当j=3时,需要考虑在前两轮中选择的交易的位置。特别是,当两轮的选择相对于i来说处于相同位置时(即所有这些选择的交易的位置都在i的前面或后面),无需考虑这两个选择的顺序。

例如,如果分别在第一轮和第二轮中选择了在[i+1,N]范围内的两个交易,则在第三轮中选择tx

最后,s(i)可按如下公式(10)计算:

当T=Tmax时,交易分散到整个水果链(FruitChain)网络中,因此每个矿工都缓存相同的N′,N′=N个交易,这使得每个交易在每个交易池中的位置都相同。基于几何分布(简称Geo)的交易选择不会改变挖水果的难度,因此水果的生成率仍然为μ,并且也可以在τ期间生成X个水果的概率为由公式④计算。

令Z表示将tx

然后,给定X个水果,tx

P(Z>0,I=i|X=x)=1-P(Z=0,I=i|X=x)

=1-(1-s(i))

此外,考虑所有X的值,我们可以按如下公式(13)计算tx

最后,考虑所有i值和tx

C.本发明的区块链

采用基于几何分布(简称Geo)的交易选择(即每个矿工都遵循几何分布来选择和打包交易)、和基于TTL的交易传播(即通过施加交易转发的time-to-live或跳数限制来限制交易的广播范围)。

由于T<Tmax,水果链(FruitChain)网络的部分矿工可以接收并缓冲交易;在这种情况下,每个矿工缓冲不同的N′(N′=Nr)个交易;因此,标记交易tx

令Ω={tx

令s={s(1),S(2),…,s(N)}为N′维向量,其中第i个元素s(i)表示矿工打包其交易池中的第i个交易到水果中的概率,该S(i)由公式(9)给出。

ABLE II:Default parameter values

然后,对于Ω中的第j个交易tx

1)、tx

2)、矿工打包位于其交易池第i个位置的交易。

因此,考虑到i的所有可能值,可以如下公式(16)计算d(j):

d(j)=w(:,j)·s′ (16)

F

令Z表示tx

然后,给定X个水果,tx

P(Z>0,J=j|X=x)=1-P(Z=0|X=x) (18)

=1-(1-d(j))

进一步,考虑所有X的值,可以如下计算tx

最后,考虑所有j的值和tx

V.验证

此部分将说明系统参数(即水果大小n、网络延迟τ和水果生成速率μ)如何影响本发明区块链的性能,并通过仿真验证所提出的理论模型是正确的。

比较三种设计的重复打包的概率和交易处理的公平性,分别是(1).水果链FruitChain(FC),(2).基于几何分布(简称Geo)交易选择的水果链(FC+Geo)和(3)本发明对应的区块链,采用Matlab 2020a编写了一个模拟器,默认参数设置如表I所示:

基于几何分布(简称Geo)的交易选择(即每个矿工都遵循几何分布来选择和打包交易)、和基于TTL的交易传播

A.交易处理的公平性

如图7比较了FruitChain,基于Geo方案的FruitChain和本发明区块链之间的公平性。在仿真中,为了衡量已处理交易序列的公平性,使用欧几里得距离作为公平度。公平程度的值越小(最小值为0),则表示公平程度越好,反之亦然。例如,要计算已处理交易序列A的公平程度,我们计算A与交易序列B之间的距离,其中交易序列B的交易按到达时间如公式(21)所示进行排序。

在图7(a)中,绘制了随着果实大小n从2到18变化的公平性的趋势图,从此图中,有以下观察结果:

三种设计的公平性都随着水果大小的增加而增加,这是因为随着水果大小的增加,被打包的交易数量会增加,并且未被按顺序打包交易的概率也会增加。

基于几何分布(简称Geo)交易选择的水果链(FC+Geo)的公平性始终是最好的,并且会略有提高,而本发明对应的区块链的公平性是第二好的,这是因为基于几何分布(简称Geo)交易选择的水果链(FC+Geo)和本发明对应的区块链都采用基于几何分布(简称Geo)的交易选择,这使矿工可以尽可能多地选择要打包的交易。相反,由于水果链(FruitChain)随机选择打包进水果中的交易(即遵循均匀分布),因此公平性最差。

图7(a)和图7(b)分别绘制了公平性随着网络延迟τ在5到50变化而变化,以及随着水果生成率μ在0.2到1之间变化而变化的趋势图。从这些图中,得出以下结论:

这三种设计的公平性都随着τ或μ的增加而降低,提出的GT链在公平性方面胜过水果链(FruitChain),但不如基于几何分布(简称Geo)交易选择的水果链(FC+Geo)一样好。这是因为本发明对应的区块链不仅采用基于几何分布(简称Geo)的交易选择,而且采用基于TTL的交易传播。

即使基于TTL的交易传播可以缓解重复打包的问题,但也将引起一个问题,即每个矿工的交易池中的交易都不连续(即不公平),因为在基于TTL的交易传播下矿工只能接收到部分交易;因此,处理的交易的公平性受到损害。

B.重复打包的概率

图8比较了水果链(FruitChain),采用基于几何分布(简称Geo)交易选择的水果链(FC+Geo)和本发明对应的区块链的重复打包的平均概率。对于每种设计,均绘制了水果大小n从2到18变化,网络延迟τ从5到50变化以及水果生成率μ从0.2到1变化的情况下的仿真结果和理论结果;从此图中,得出以下结果:

三种设计的重复打包概率随n、τ或μ的增加而增加。

原因如下,这三个参数中任何一个参数的增加都会导致在持续的τ时间内打包交易的次数增加。此外,由于矿工各自独立地打包交易,打包交易次数的增加则意味着重复打包的概率增加。

本发明对应的区块链的重复打包概率要比基于几何分布(简称Geo)交易选择的水果链(FC+Geo)低很多,这是因为本发明对应的区块链,不仅采用基于几何分布(简称Geo)交易选择的水果链中的交易选择,而且采用基于TTL的交易传播;基于TTL的交易传播限制了交易传播的范围,从而降低了重复打包交易的概率。

水果链(FruitChain)的重复打包概率总是低于其余设计。原因如下,为了实现公平交易处理,本发明对应的区块链、和基于几何分布(简称Geo)交易选择的水果链(FC+Geo)采用基于几何分布的交易选择方案以打包交易。该方案力求在交易处理公平和重复打包之间取得平衡。相反,水果链(FruitChain)使用完全随机的方法(遵循均匀分布)来选择要打包的交易。尽管它减少了重复打包的概率,但是却损害了交易处理的公平性。

对于每个设计和每个系统参数下的验证,理论结果都与相应的仿真结果完全匹配,这表明理论模型非常准确;而不可避免的和微小的偏差是由组合数的近似计算导致的。

C、结论

工业物联网中,应用程序要求挖矿公平性和交易处理公平性,但是现有的Nakamoto非许可区块链协议和许可区块链协议无法满足这些公平性要求。本发明提出了的区块链协议,以同时实现两种公平性。一方面,本发明提出的区块链继承了水果链(FruitChain)的属性,从而实现了挖矿的公平性。另一方面,为了达到交易处理的公平性,本发明提出的区块链引入了两种新颖的方案:基于几何分布的交易选择和基于TTL的交易传播,通过基于几何分布的方案,每个矿工都可以按照几何分布选择交易并将其打包进水果,在基于TTL的交易传播方案中,交易广播范围受到了传输转发的time-to-live或跳数的限制。此外,考虑各种系统参数(例如水果大小,网络延迟),开发的理论模型,以重复打包概率来量化本发明区块链的交易处理效率。最后,验证本发明区块链的交易处理效率完全符合设计目标,并且所开发的理论模型非常准确。

以上所述实施例只是为本发明的较佳实施例,并非以此限制本发明的实施范围,除了具体实施例中列举的情况外;凡依本发明之构造、基本原理及方法所作的等效变化,均应涵盖于本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号