《An Accelerating Approach for Blockchain Information Transmission Based on NDN》论文阅读笔记

paper

Abstract

区块链在各个领域越来越流行。由于区块链的信息传输方式是数据广播,传统的TCP/IP网络不能很好地支持区块链系统,而命名数据网络(NDN)具有多径转发和网内缓存功能,是一种很好的选择。本文在NDN架构的基础上,结合图论和概率论,提出了一种新的区块链信息传输加速策略(AITS)。我们选择网络中一些比较重要的节点作为“次要节点”,并给予它们更多的带宽和缓存空间,以辅助NDN网络的数据传输。为了选择正确的节点作为次节点,本文提出了计算次节点个数的方法,并给出了计算每个节点重要性的函数。仿真结果表明,在复杂网络中,该方法在加速信息传输和减少数据开销方面具有优越的性能。

背景:由于区块链的信息传输方式是数据广播,传统的TCP/IP网络不能很好地支持区块链系统,而命名数据网络(NDN)具有多径转发和网内缓存功能,是一种很好的选择。

问题:如何加速信息传输并减少数据开销。

如何解决问题:结合图论和概率论,提出了一种新的区块链信息传输加速策略(AITS),选择网络中一些比较重要的节点作为“次要节点”,并给予它们更多的带宽和缓存空间,以辅助NDN网络的数据传输。

环境模型

基于区块链技术的应用服务具有数据量大、频率高的特点,因此数据的频繁生成和频繁分发给网络中的节点,对网络中的服务质量提出了更高的要求,如传输速度等。

传统TCP/IP网络的传输机制是点对点传输系统。这意味着,当一个基于区块链的应用程序被使用时,会产生巨大的广播开销和传输延迟,这对基于区块链的应用程序的后续发展有很大的影响。

如何优化基于区块链的应用程序的性能主要有两个方向。一是基于TCP/IP网络进行了一定的改进。优化的另一个方向是使用新的网络架构来支持基于区块链的应用程序。

image.png

交易模型

假设本文使用的区块链系统是比特币系统。众所周知,比特币系统中有三种不同的节点,即MinerNode、wallet Node和forwarding Node。

矿工节点负责计算交易结果并向全网广播,钱包节点负责生成交易并向矿工发送信息,转发节点负责数据在网络中的分发网络。

在一个比特币网络,从交易开始有三个步骤完成:

(1)钱包节点生成交易,并将交易信息发送给网络中的miner节点;

(2)miner节点接收到信息后,计算出交易信息对应的哈希值,首先计算结果的miner节点将结果广播到整个网络中。

(3)所有节点接收信息并改变本地模式记录。自从每个miner节点接收到的信息与钱包节点发送的信息之间的时间差远小于miner节点计算时间所需的时间相应的哈希值,可以认为每个节点同时接收钱包节点的信息,同时开始计算。

因此,在比较网络延迟时,我们可以将完成整个事务的延迟看作矿工对整个网络宣布的延迟。

在一个随机的NDN网络中,我们选择一些节点作为次要节点,并为它们分配更高的带宽和更大的缓存,以加速网络中的数据包传输。

这些节点通常具有更高的传输容量和通信重量,连接到更多的节点,并承担更频繁的数据包转发任务,如图2所示。

image.png

次要节点选择算法

image.png

image.png

image.png

信息加速策略

1.根据实际网络数据生成拓扑。拓扑生成成功后,根据最佳路由策略生成每个节点的FIB表,然后在每个节点上运行区块链系统;
2.根据FIB表遍历整个网络,记录任意节点与节点之间的数据交互路径。
3.根据遍历结果,删除与网络中其他节点不交互的节点和数据链路,建立新的拓扑网络。
4.根据新的网络拓扑计算每个节点的重要性。计算公式参考式(2)和式(3)。
5.计算每个节点的度后,根据网络状态得到一个值,并将该值和每个节点的度代入式(2)和式(3)中,计算每个节点的重要性值。将该值代入式(4)和式(7)中,计算LJ的值。
6.根据LJ,选择适当数量的节点作为辅助节点,以辅助区块链网络加速信息传输。

image.png

实验

我们提出了三种仿真场景并进行了比较:

(1)使用NDN网络并部署加速策略,记录一段时间内的网络延迟和数据开销。
(2)使用NDN网络但不部署加速策略,记录一段时间内的网络延迟和数据开销。
(3)使用TCP/IP网络,不部署加速策略,记录一段时间内的网络延迟和数据开销。

在实际网络中,P的值总是在0.1到0.2之间(随着网络规模的扩大,π的值会有所不同),所以我们将其设为0.15,并计算为0.15。因此,在下面讨论的模拟网络中,我们将根据等式(2)和(3)计算每个节点的重要性,并选择节点中的前15%作为次要节点节点次要节点将被设置为具有两倍于普通节点的带宽和100G的缓存空间。

在本节中,我们将比特币系统部署在NDN网络和TCP/IP网络中,两种解决方案使用相同的区块链网络拓扑。在这种拓扑结构中,有150个节点,其中20个是miner节点,15个是wallet节点,其余节点是转发节点。这些节点以概率相互连接并执行数据传输交互作用如图4所示,我们比较了比特币系统在NDN网络和传统TCP/IP网络中的传输延迟。延迟/ms表示向miner节点广播块时的传输延迟。这条小路代表经过这个街区的矿工人数。可以看出,在相同的网络条件下,NDN网络比传统的TCP/IP网络具有更好的性能,这印证了NDN网络更适合区块链的观点网络。

image.png

在本节中,我们将介绍一种加速策略来优化NDN网络,并比较在引入加速策略之前和之后比特币系统的性能。本节使用的网络拓扑与上一节相同。在前面的仿真中,我们根据实际网络数据将p=0.15,并根据p值计算出二次节点的个数。然而,网络中存在着流量的峰值和低估,流量的值也会发生变化,影响次节点的数量。由于二次节点数量的变化会影响AITS策略的性能,我们选取了一组数值进行仿真实验,并与原网络进行比较,得到的数值相对于实际网络值有5%的波动,如图5所示。图5-7中的原始算法表示区块链使用NDN网络进行信息传输,但没有应用额外的信息加速策略。可以看出,在复杂网络中,随着网络中传输路径的变长,节点接收时延显著增加,而采用AITS策略(加速信息传输策略)可以显著减小这种时延。仿真结果表明,与原算法相比,AITS策略可以显著降低传输时延,并且这种降低是由次节点数决定的,次节点数越大,AITS策略的性能越好。

image.png

为了验证AITS策略的可扩展性,我们设计了一组仿真实验。我们创建了三组仿真网络,第一组有20个节点,其中6个是miner节点;第二组有150个节点,其中20个是miner节点;第三组有250个节点,其中30个是miner节点。这三组仿真网络的建立方式相同,外部参数相同:网络中的所有节点都有可能相互连接,并根据各自的角色进行交互。在每个网络中,次要节点的数量是网络节点数量的15%。模拟结果如图6所示。可以看出,无论网络是简单的还是复杂的,aitss策略都具有良好的性能,并且随着网络规模的增大,AITS在复杂网络中的性能会更好环境仿真结果进一步证明了本文提出的AITS策略在复杂环境下的优越性。

image.png

AITS策略的另一个优点是减少了数据开销,这意味着减少了数据的冗余传输。由于次节点存储miner节点发送的数据包,当需要分发到路径上的另一个节点时,它直接从次节点分发到目的地,从而减少了大量的数据开销。我们选取20个miner节点来观察数据包在向整个网络广播信息时的过热情况。如图7所示,引入AITS策略后,所有miner节点的数据开销都得到了显著的降低,降低的幅度取决于miner节点和secondary节点之间的距离。越靠近辅助节点,重复请求的数据包就越少,数据开销也就越小。仿真结果证明了这一点。仿真结果证明了AITS在复杂网络环境下降低数据开销的良好性能。

image.png

你可能感兴趣的:(《An Accelerating Approach for Blockchain Information Transmission Based on NDN》论文阅读笔记)