主页 > imtoken冷钱包app > 比特币平台挖矿策略总结及其优势

比特币平台挖矿策略总结及其优势

imtoken冷钱包app 2023-03-17 07:35:29

摘要 区块链技术是比特币平台的底层技术。 由于其透明、不可伪造、不可篡改等特点,被广泛应用于虚拟货币、供应链等系统中。 然而,大多数区块链平台,如比特币平台,都面临包括自私挖矿在内的诸多问题,这将直接导致比特币的不安全性,严重影响区块链的发展。 自私挖矿是比特币的一种挖矿策略,是指自私矿工有选择地释放之前隐藏的区块,以获得比诚实矿工更多的额外收益。 本文在模拟诚实矿工挖矿实验的基础上,重点研究自私挖矿情况下矿工的最优相对收益。 采用中心极限定理和节点状态转移图建立两个节点分布概率模型,然后利用马尔可夫随机过程和函数极值法依次获得两个模型下的最优收益。 同时设计并进行自私挖矿模拟实验,得到自私挖矿中节点算力与收益的关系,从而进一步验证模型的合理性。

0 前言

21世纪以来,互联网技术的蓬勃发展极大地改善了人们的日常生活,使互联网成为信息社会不可或缺的重要保障。 但与此同时,互联网也面临着黑客攻击、数据泄露等各种安全问题。作为分布式数据存储、点对点传输、共识机制等计算机技术应用的新模式,加密算法和智能合约,区块链技术具有去中心化、透明、不可篡改等特点。 因此,它在金融、电子政务、能源应用和医疗等诸多领域发挥着重要作用[1]。

比特币系统的稳定性取决于参与交易的节点的共同利益。 当一个诚实节点发现一个新区块时,它会立即向整个系统宣布新区块已经被挖出的消息。 其他矿工收到并确认消息后,会将这笔交易记录在账本上,然后开始其他分支的挖矿。 最先挖出区块的矿工将获得相应的奖励。 这种激励机制使得比特币在去中心化的情况下仍然能够使交易各方达成共识。 共识,从而很好地维护了区块链系统的稳定性。 然而,在目前的比特币系统中,恶意节点为了获取更大的利益,往往会采取自私挖矿的策略[2]。 该概念由康奈尔大学的两位研究人员 Eyal 和 Sirer 于 2013 年提出,是一种比特币挖矿策略,是一种基于挖矿节点算力的竞争[2]。 恶意节点基于“自私矿池”当一个“自私矿池”挖出一个新区块时,并不会根据比特币共识协议立即公布该区块,从而让其余的诚实节点浪费算力去挖矿[3 ]. 面对区块链的分叉,最长的链被视为合法链[4-5]. 当诚实链的长度接近自私链的长度时,自私的矿工将释放之前隐藏的诚实矿工的区块因此被强制作废,在自私挖矿的情况下,自私矿工可以获得相对于诚实挖矿策略更多的收益,而诚实矿工将失去自己的合法收益。另外,来自康奈尔大学和马里兰大学的区块链研究员 Nayak 等 [6] 进一步提出,对于大的参数空间,自私挖矿并不是最好的选择。因此,他们扩展了挖矿策略空间,并考虑了一类存根 orn挖矿策略,即攻击者一直在自己的私有分支上挖矿,让公共分支领先,如果他恰好在后面超过了公众,他将获得高于预期的挖矿收益[7]。 在这种情况下,计算表明攻击者最多获得 13% 的收益。 此外,其他一些研究表明,他的收益如何通过非平凡的挖矿组合和网络攻击进一步放大,从而导致更大的挖矿收益,例如,分布式去中心化 Eclipse 攻击的策略 [4]。

尽管对比特币挖矿策略的研究很多,但不同的研究工作从不同角度研究了自私矿工进行自私挖矿以获得额外收益。 然而,这些研究都没有从系统的角度进行研究。 分析总结比特币节点可能的挖矿策略。 本文将系统总结现有比特币平台中的挖矿模型,并用数学模型定量分析这些自私挖矿策略的收益。 最后,本文将给出一些可能的防止自私挖矿的策略,希望能为初学研究者提供对比特币挖矿模型的系统全面的认识,同时为比特币挖矿策略的优化提供一些可行的建议。

1 自私挖矿模型和收益模型 1.1 比特币简介

比特币作为一种加密数字货币,本质上是一种数据结构,包含一系列输入输出列表,包括节点间的转账记录。 比特币交易和挖矿过程包括6个步骤,如图1所示[8]。

1)客户向P2P网络发送交易请求;

2) 收到用户请求的节点验证交易信息并广播到P2P网络;

3)每个矿工收到交易信息,验证无误后放入交易池,并继续广播交易信息,直到全网收到交易信息;

4)将多条交易信息打包成一个新的区块;

5) 向现有区块链添加新区块;

6) 客户交易完成。

比特币的有效性基于交易发起人的签名。 交易签名的作用是防止他人冒充签名产生数据造假。 交易输入的签名是指放置在交易输入中的签名(Signature)字段,其中包括用户的公钥(Pubkey)。 签名域主要用于后续的交易有效性验证。

交易完成后,系统会将交易广播给邻居。 挖矿节点,俗称矿工,在挖矿时会将交易池中的交易记录打包,形成一个新的区块。 成功加入区块链交易系统后,本次交易会被系统确认,但在挖矿节点进行交易之前,需要验证交易的真实性,以防止数据造假[9]。

1.2 自私挖矿模型

比特币矿池收益排行_比特币节点收益_比特币节点是什么

自私矿工通过隐藏和发布私有区块获得额外收益,但关键问题是自私矿工选择何时公布他们的隐藏区块,或者何时继续隐藏他们已经开采的新区块,以最大化他们的相对利益。

本文采用<S,A,P,R>模型[10]将自私挖矿问题转化为决策问题,目标函数为相对收益函数。 需要说明的是,这里的目标函数是非线性的,因为自私挖矿矿工追求的不是他们得到的区块的具体数量,而是最大化他们得到的区块的份额。 也就是说,自私的矿工想要的是比其他挖矿节点更高的投资回报率。其中,S代表区块状态集合中的某个状态。 S的空间状态可以用三元公式(la, lh, fork)表示。 前两个参数分别代表自私矿链的长度和诚实矿链的长度。 Length,第三个参数表示区块链的分叉。 A是动作集,有4个元素:接受、释放、隐藏和竞争。 P表示在一定的动作下,当前块的状态转化为下一个状态的概率。 R 表示当前状态下的预期收益。

1.2.1 节点分布概率分析

本文从节点分布概率的角度,建立了两种自私挖矿过程模型。 第一个模型直接使用泊松分布和大数定律来拟合诚实节点和自私挖矿节点的概率分布。 第二种模型是根据状态转移图中的转移频率来分析矿池中节点的概率分布。 需要指出的是,在建立和分析这两个模型的过程中,忽略了区块大小和网络通信延迟等因素。

1)模型一:概率分析

① 诚实节点的概率分布

诚实节点的概率分布类似于泊松分布[11]。 一般来说,比特币每 600 秒挖出一个新区块。 根据文献[12],诚实节点挖出一个区块的概率为Ph。

其中,1-α是指诚实矿工的算力,d是挖矿难度,t是挖矿时间(单位s)。

② 自私节点的概率分布

由于自私矿池中节点的算力基本稳定,本文假设自私节点发现新区块的概率基本不变。

考虑到随着自私挖矿的深入,诚实节点会不断加入自私挖矿的行列,从而导致自私矿池的算力发生变化。 因此,用p′表示自私矿池概率分布的变化。

2)模型二:概率分析

模型 2 对矿池中节点的状态进行分类。 为了直观表示,本文将节点状态标记为0′、0、1等,节点状态变换如图2所示[2]。 其中,state 0表示只有一条公链,0'表示有两条长度为1的链,一条是主链,另一条是自私矿工的私链,即用于发布隐藏块以与主分支竞争[2]。 另外,本文中用β表示矿池中诚实节点的比例。

当频率为α时(本文中算力α相当于转换频率),对于状态S=0,1,2,...,节点的状态将从S变为S+1开采一个新区块后。 对于状态S=2,3,4,...,在频率为1-α的情况下,状态会从S回到S-1。 如果自私矿池中存在长度为1的自私矿链,在其他分支上挖出新区块时,自私矿链采取措施公布隐藏区块,这样系统就会出现故意分叉的现象,即会有两条长度为1的区块链,自私矿池中的矿工会继续挖区块。 矿池上的分支,而诚实矿工继续在他们之前确定的矿链上挖矿。

从图2中可以看出,从状态0'开始有3种可能的转移,最终都会导致状态0。它们的总频率之和为1。在第一种情况下,矿池使用频率α在前一个自私链在第二种情况下,其他矿工在前一个自私链上以 β(1-α) 的频率挖出一个新区块; 第三种情况,其他矿工在公链上以频率(1-α) β) (1-α) 挖出一个新区块。

由状态转移图推导出节点状态概率分布,结论如式(1):

比特币节点是什么_比特币矿池收益排行_比特币节点收益

1.2.2 相对效益分析

目标函数是节点的相对收益函数,因为自私的矿工想要最大化获得的区块份额,而不是具体的区块数量。 换句话说,自私的矿工想要的是相对于其他矿工更高的挖矿节点的投资回报率。

1)模型一:相对效益分析

结合自私挖矿过程和挖矿节点概率分布的分析,针对何时发布隐藏块的关键问题,给出如下算法描述(算法1)。

根据算法1,建立自私挖矿节点的相对收益函数[13],如式(5)所示:

最后一步是在获得最优解时确定 ρ 的值。 由于ρ∈(0, 1),可以采用二分查找法来确定最优的ρ值,二分查找法的伪代码如算法2所示。

2)模型二:收益分析

结合节点状态转移图2,利用节点状态转移频率分析自私挖矿的预期收益。 目标函数为相对收入函数,如式(7)所示:

下面根据自私链和诚实链的不同状态讨论相对收益。

Case 1. 系统生成自私链和诚实链的分叉,长度为1,自私链找到一个新区块链接到自私链隐藏起来。 这样,自私链领先诚实链 1 个区块。 长度和收入也是由此决定的,如图3所示。

Case 2. 区块链产生了两个分支长度为1的分叉,此时自私链找到了一个新的区块。 自私矿池选择在自私链上发布所有区块。 因此,诚实链上所有区块的区块收益都是无效的,自私链获得两个区块的收益,如图4所示。

Case 3. 区块链产生两个分支长度为1的分叉,当诚实链先挖出区块,并将新挖出的区块链接到自己的诚实链上。 自私矿链会采取接收动作,即放弃自私链上的所有区块。 在这种情况下,诚实链获得两个区块的收益,如图 5 所示。

Case 4. 区块链产生两个分支长度为1的分叉,如果诚实链挖出一个区块,诚实链可以采取策略将新挖出的区块链接到自私链的后面,这样自私链诚实链各获得一个区块的收益。 那么比特币节点收益,自私挖矿链的后续收益将归诚实挖矿链所有,如图6所示。

案例 5. 没有自私的分支。 如果诚实链发现了一个新的区块,那么诚实链就会获得一个区块的收益。 此时诚实链的相对收益为p0(1-α)。

情况6,当自私链领先诚实链一个区块时,诚实链最先挖出一个区块。 此时两者的长度相同,此时的收益取决于两者算力博弈的结果。

情况七,当自私链领先诚实链两个区块时,如果诚实链挖出一个新区块,则la-lh≥1,自私链将采取释放措施,从而迫使诚实链上的所有收益invalidated ,这两个区块的收益都属于自私链。

比特币节点是什么_比特币矿池收益排行_比特币节点收益

案例 8. 自私链领先诚实链的长度超过 2 个区块。 此时,诚实链将差距缩短为 2 个区块。 自私链会选择在其分支上发布某个区块。 在这种情况下,诚实链挖出的新区块并没有链接到诚实链,而是链接到其他主链。 这样,诚实链上的区块收益作废,自私挖矿链可以赚取区块收益,如图8所示。

下面根据以上8种情况分别计算诚实链和自私链的收益。 其中,案例3、4、5的收益属于诚实链,案例1、2、6、7、8的收益属于自私链。 全部。 然后,根据状态转移图,可以得到自私节点和诚实节点的相对收益,双方的相对收益如式(8)所示。

指定α和β的取值范围,将R的最优解转化为二元函数在定义域中求极值的问题。 同时用MATLAB制作相对收入函数R的图像,如图9所示。

由式(9)可知,相对收入函数由α和β共同决定,因此最优收入问题转化为求函数在α和β可行域内的极值。 根据文献[15],利用相关挖矿系数可以发现,当β为0时,α的阈值为1/3,即自私矿工只需要掌握1/3的算力全网保证额外收入,符合我们之前的认知。 当 β 为 0.5 时,α 的阈值为 1/4,即自私节点占节点总数的一半时,自私矿工只要有全网1/4算力。

2 挖矿实验模拟 2.1 诚实挖矿模拟实验结果及分析

2.1.1 实验环境

仿真系统采用Go语言实现,基于以下软硬件环境开发仿真系统,并对实验数据进行采集和处理。

硬件环境:Intel(R) Core(TM) i5-8300 CPU @ 2.30GHz,8G内存。

软件环境:Ubuntu 18.04,LiteIDE X35.5,go 1.11.1。

实验过程中,利用Linux系统的终端模拟各个节点,节点之间通过广播信息进行信息交换,生成的实验结果用Excel和MATLAB进行分析。

2.1.2 诚实挖矿实验内容设计

为了简化实验,假设一条记录为一个区块,矿工成功挖矿奖励为1,交易手续费为0。本文设计了一个诚实矿工挖矿的实验,分别进行了2名不同算力的矿工力量。 000笔模拟交易,统计每个节点的收益,对数据进行分析,得出节点算力与收益之间的关系。

2.1.3 实验结果分析

为了计算方便,预先设定总算力为80000,矿工M1~M10占总算力的比例分别为:6%、7%、7.5%、8.5%、9.5%、10.5%、 11%、12%、13% 和 15%。

经过 2000 次交易后,每个矿工的最终收益如表 1 所示。

实验中,10个诚实挖矿节点在不同算力下的理论收益率与实际收益率对比如表2所示。实验数据表明比特币节点收益,理论收益率与实际收益率的误差率在合理范围内.

比特币矿池收益排行_比特币节点收益_比特币节点是什么

从表1可以看出,在2000笔交易中丢失了两条交易记录。 同时,从表2可以看出,每个矿工的算力占比和节点收益占比基本一致,即节点能获得的挖矿算力几乎与自己拥有的一样多。 收益。 对于一个诚实的节点来说,它的算力越大,它获得的收益就越多。

2.2 自私挖矿模拟实验结果与分析

2.2.1 实验环境

自私挖矿模拟实验和诚实挖矿实验的实验环境 表2 每个矿工的理论收益和实际收益的对比环境类似,这里不再赘述。

2.2.2 自私挖矿实验内容设计

在本次自私挖矿实验中,共建立了4个挖矿节点、1个发送节点和1个统计节点(即在Linux系统中建立了4个挖矿终端节点、1个发送终端和1个统计终端)。 在这个实验中,我们设置每分钟计算哈希值的数量来代表计算能力。 4个挖矿节点分为2个自私节点,算力15000(占总算力的18.2%)和27500(占总算力的33.3%),两个诚实节点,算力20000 (占总算力的24.2%)。 实验中一共进行了1000次模拟挖矿实验,计算了每个挖矿节点的收益。

2.2.3 自私挖矿仿真结果与分析

自私挖矿模拟实验结果如表 3 和表 4 所示。其中,SM1 和 SM2 分别代表算力为 15 000 和 27 500 的自私挖矿节点,M11 和 M12 代表另外两个诚实挖矿节点具有相同的计算能力。 挖矿节点。

从表3和表4可以看出,当两个自私挖矿节点同时进行自私挖矿时,整个系统的交易损失率整体趋于稳定,损失率基本稳定在30左右%。 两个自私挖矿节点Nodes由于算力不同,收益也不同。 自私挖矿节点SM1的算力占系统总算力的18.18%,但收益仅占总收益的13.68%; 而自私挖矿节点SM2的算力占系统总收益的18.18%。 1/3的权力,但收入占总收入的37.85%。 可以看出,SM1和SM2之间存在一个以算力为主要因素,其他因素共同作用的博弈过程。 同时,SM1 的算力也低于另外两个诚实节点。

以上实验数据表明,在自私挖矿过程中,如果节点算力过小,将难以获得额外收益,甚至低于诚实挖矿策略的收益。 当自私节点的挖矿算力达到整个系统算力的 1/3 时,自私节点可以获得比诚实挖矿策略更多的额外收益。

3 总结

本文研究了比特币平台中的比特币挖矿策略,系统地展示了不同挖矿策略下旷工带来的好处。 首先简单介绍了自私挖矿的概念和比特币的原理,然后利用大数定律和矿池在中间节点的状态转移图中建立了两种自私挖矿模型。 分别利用马尔可夫随机过程和函数极值法得到各模型下的最佳相对收益,最后通过实验验证了自私挖矿与算力之间的关系。

参考文献References

[1] 邹军,于斌,庄鹏,等.区块链核心技术与应用[M]. 北京:机械工业出版社,2018

周军,于斌,庄鹏,等。 区块链核心技术与应用[M]. 北京:机械工业出版社,2018

[2] Eyal I, Sirer EG. 多数还不够:比特币挖矿很脆弱 [J]. ACM通讯, 2013, 61 (7): 95-102

比特币节点收益_比特币节点是什么_比特币矿池收益排行

[3] 袁勇,王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42 (4): 481-494

袁勇,王飞跃. 区块链:现状与未来趋势[J]. 自动学报, 2016, 42 (4): 481-494

[4] 海尔曼 E、肯德勒 A、佐哈尔 A 等。 Eclipse 攻击比特币的点对点网络 [C]∥Usenix 安全研讨会会议。 USENIX 协会,2015 年:129-144

[5] 夏青,张奉军,左春. 加密数字货币系统共识机制综述[J]. 计算机系统应用, 2017, 26 (4): 1-8

夏青,张凤军,左春。 加密货币系统共识机制综述[J]. 计算机系统与应用, 2017, 26 (4): 1-8

[6] Nayak K, Kumar S, Miller A, et al.Stubborn mining: generalizing selfish mining and combining with an eclipse attack[C]∥2016 IEEE 欧洲安全与隐私研讨会 (EuroS&P).IEEE, 2016

[7] Eyal I. The miner's dilemma[C]∥2015 IEEE Symposium on Security and Privacy. IEEE, 2015: 89-103

[8] Anish L J. Bitcoin and other cryptocurrencies-all you need to know[EB/OL].[2017-06-02].https:∥

[9] 李旭东, 牛玉坤, 魏凌波, 等. 比特币隐私保护述评[J]. 密码学报, 2019, 6(2): 133-149

李旭东,牛玉坤,魏凌波,等。 比特币隐私保护概述[J]. 密码学研究杂志, 2019, 6(2): 133-149

[10] 高用林,程晓蓉. 区块链自私挖矿研究与分析[J]. 计算机工程与应用, 2018, 54(15): 62-66

高永林,程小荣。 区块链自私挖矿研究与分析[J]. 计算机工程与应用, 2018, 54(15): 62-66

[11] Nakamoto S. 比特币:点对点电子现金系统 [EB/OL]。 (2017-02-03) [2019-08-08]。 https:∥bitcoin.org/bitcoin.pdf

[12] Heilman E. 阻止自私矿工的怪招:新鲜比特币,诚实矿工的解决方案 [C]∥金融密码学和数据安全国际会议。 斯普林格,柏林:海德堡,2014 年:161-162

[13] Gervais A、Karame GO、Wüst K 等。 关于工作量证明区块链的安全性和性能 [C]∥2016 年 ACM SIGSAC 计算机和通信安全会议论文集。 美国计算机学会,2016:3-16

[14] Sapirshtein A, Sompolinsky Y, Zohar A. 比特币中的最优自私挖掘策略[M]∥金融密码学和数据安全。 柏林,海德堡:Springer Berlin Heidelberg,2017:515-532。 DOI:10.1007/978-3-662-54970-4_30

[15] Swanson E. 比特币挖矿计算器 [EB/OL]。 (2017-02-03) [2019-08-08]。 网址:∥