论文翻译:Predicting Transaction Latency with Deep Learning in Proof-of-Work Blockchains

Predicting Transaction Latency with Deep Learning in Proof-of-Work Blockchains

  • Enrico Tedeschi∗, Tor-Arne S. Nordmo∗, Dag Johansen∗ and H˚avard D. Johansen∗

  • The Arctic University of Norway

研究该问题的原因

基于工作量证明的区块链系统,交易有延迟,将交易打包进区块时,需要支付给矿工手续费,手续费越高,被优先打包的几率越大,交易延迟就会大概率减小。因此手续费与交易延迟有很大关系,但是用户却不清楚在自己可接受的延迟内,需要缴纳多少手续费用。

论文研究的内容

在本文中,我们提出了一个新的机器学习模型,解决了一个二元分类问题,可以预测比特币网络中的交易费用波动,以便用户可以优化他们的交易费用支出和打包时间。

我们提出了一种基于历史块数据的交易包含模型。我们的模型使用深度学习方法构建神经网络,如神经网络、深度神经网络和残余神经网络。目的是预测某个交易是否有很好的机会立即(约10min)包含在下一个块中。请注意,我们希望提供关于交易包含的信息,而不是实际的批准时间

我们的工作是定义一个形式良好的交易的基本内容,这样矿工就可以获得公平的收入,但仍然使用户有可以接受的费用-性能权衡。

技术实现

数据集D来源

我们通过使用每天从比特币区块链收集的数据来开发我们的模型。我们收集纵向数据,对它们进行批处理,并为每个数据创建一个预测模型,它将用于后续的批处理

We collected data using a third-party APIs【1】, also gathering information about money exchange price with libraries such as forex-python.【2】

1https://www.blockchain.com

2https://pypi.python.org/pypi/forex-python

测试集

用于测试的指标包括准确性、精确度和召回率。我们对2019年5月6日至2019年2月23日在比特币区块链上注册的交易进行测试。我们考虑了超过7000个区块的近2000万笔交易。

实验思路

利用我们的数据集D,我们使用机器学习模型建立了一个交易包含模式的预测模型。有了基于pow的区块链,我们就可以假设哪些特征可能与模型相关。从D中,我们推导出预测的特征集(F),然后使用不同的深度学习方法进行监督分类,以找到性能最好的方法。

数据采集和特征选择

从D中,推导出用于预测的特征集(F)

参数集: :

参数 含义
tq 交易大小
tf 交易费
ρ 费用密度
t% 费用百分比
Δtep 交易t的等待时间
δ 交易的排序(offset)

预测模型

生成了两种不同的模型:DNN和ResNet,解决了一个二元分类问题,并进行了评估。后者包含距离更远的层之间的跳过连接。这些跳过连接有助于更深层次神经网络中的梯度流动,旨在减少训练和测试误差。

这两个模型的输出都表示一个交易立即包含或不包含在下一个块中的概率。

我们在测试过程中改变了隐藏层数,使用的激活函数是网络中每个节点的ReLU,在输出层,使用了归一化指数函数(或softmax)。权值通过He归一化进行初始化,这考虑了ReLU,这使得深度模型更容易收敛。测试模型采用Keras4实现。

image-20211103095613727

性能评估

对于性能评估,我们使用保持(Holdout)方法,它属于交叉验证类。当数据集包含n个元素时(n→ ∞),保持方法的结果是最佳的。此外,如果与留一法和kfold交叉验证方法相比,保持方法具有更低的计算开销,并且它仍然保持训练和测试集的独立性,这与残差方法不同。然后我们用总训练集的85%训练一个模型,我们计算剩余15%的(验证集)上的度量,其中模型在所有训练数据上被调整,然后我们计算测试集上的度量,测试集是一个完整的新集合,具有更新的事务。

实验步骤

我们通过将相同的时间框架分成20或5天的事务来训练我们的模型,并在接下来的15或5天内进行测试。我们的目的除了在准确性上获得高分之外,还在于

(1)测试不同的特征集(F5和F6),

(2)使用两种模型(DNN和ResNet)增强差异

(3)强调类平衡如何影响我们的结果。

实验结果

20天分析

第一个分析是在20天的训练时间和15天的测试时间内完成的。考虑2019年4月6日至2019年4月26日的交易,对数据进行训练,并在接下来的几天进行测试,直到2019年5月11日。

在图2a中,我们对两个不同模型ResNet和DNN的度量分数分别用虚线和实线表示,而两个不同的特征集F5和F6用浅蓝色和红色列出。从图2a我们可以看出,如果考虑相同的输入空间,两个不同的模型具有几乎相同的趋势。

image-20211103155819323

在图2b,从二维特征空间F2={tq,tf}到六维特征空间F6的增量在精度方面是显著的。△tep带来了一个很大的增量,两个模型的准确率都从67%到70%。当增加特性δ时,两种模型的增量最大,增量约为10%

image-20211103155810869

使用ResNet,精度会有小幅提升,差异小于1%,但是由于在运行ResNet而不是DNN时没有计算开销,我们更喜欢前者而不是后者。在所有指标中,ResNet6得分超过80%,总体准确率为83.32%,而DNN6在将t∈V0分配给正确的V0类时不太精确,总准确率为83.13%

5天分析

观察图3,准确度(A)从80%到86%不等,两种模型趋势相似。但是,为了关注(3),我们注意到ResNet6正确分类正样本的能力与其正确分类负样本的能力相同,这使得ResNet6*成为比ResNet6更平衡的模型。

image-20211103165001016
|

posted @ 2021-12-20 14:33  不拘  阅读(19)  评论(0)    收藏  举报