比特币的自私挖矿

Posted Luowaterbi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比特币的自私挖矿相关的知识,希望对你有一定的参考价值。

哈尔滨工程大学计算机学院2021年区块链技术课程
2018065217罗先镇
2018201627张本超

一、比特币挖矿

1.什么是挖矿

挖矿规则:挖矿,专业解释是计算机hash(哈希或散列函数)随机碰撞的过程。简单一点说,就是比特币系统出一道数学题,看谁家挖矿设备先有解


打个比方,区块007号假设出了一道题:最先计算出下列值的矿工可以得到比特币!
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
各色计算机在矿工们的带领下,开始苦哈哈地计算正确答案。比特币系统自身也会调节难度,控制解题的时间,一般来讲,约每10分钟挖出一个区块。在这10分钟内,计算机只能不停地去计算,去试各种字符串。直到你最早试出正确的答案abc,这时,你就可以把答案写进区块里,然后开心坐等系统发给比特币和本区块内所有交易的tips 手续费

2.挖矿的奖励机制

一个矿工生产了区块之后,会获得的两种不同类型的奖励:手续费和出块奖励

手续费:
转账需要向矿工缴纳手续费。普通用户需要转账,就需要构建交易,并广播到网络上。如果输入和输出相等,是没有矿工愿意帮忙记账的,因为输入大于输出的那部分就是普通用户愿意支付给矿工的手续费。注意,普通用户不用去管输入输出这些概念,钱包软件会展示给用户一个非常友好的界面,用户只要填写好转账和手续费的金额即可。因为比特币无中央权威的特点,没有人有权利去指定手续费的具体金额。手续费是在自由市场条件下来形成,如果交易很多,普通用户就需要适当提高交易手续费,不然交易可能会被矿工忽略,造成转账失败。

出块奖励:除了手续费,矿工还可以获得出块奖励。出块奖励每四年会减半,到2140年,比特币发行总量到达2100万之后,就不会有出块奖励了。

3.挖矿公约与最长链原则

挖矿公约:
区块 N 被挖出来之前,不能开始挖区块 N+1。区块 N 一旦被某节点挖出,该节点马上公布,其它节点听到后将区块 N 写入账本后,立刻开始挖区块 N+1。
遵守公约的矿工就叫做“诚实的矿工。
最长链原则:
中本聪在论文《比特币:一种点对点网络中的电子现金》中曾介绍,比特币工作量证明机制的本质是一CPU一票,而最长链包含了最大的工作量,所以"大多数人"的决定就可以表达为最长链。通俗来讲就是,比特币区块是依靠矿工们不断进行数学运算而产生的,每一个区块都必须引用其上一个区块,因此最长的链也是最难以推翻和篡改的,所以节点永远认为最长链才是有效的区块链,只有在最长链上挖矿的矿工才能够获得奖励,这就是我们常说的比特币最长链原则。

在2013年,研究人员Ittay Eyal和Emin Gun Sirer就通过论文《Majority is not Enough: Bitcoin Mining is Vulnerable》发表了对自私挖矿的探索和研究。该论文的论点与人们普遍的观念不同,认为比特币的矿工激励机制存在缺陷。

二、自私挖矿

1.原理

“自私采矿”是对比特币采矿和激励的攻击。其目的不是为了破坏比特币的运作机制,而是为了获得额外的奖励并使诚实的矿工进行无效计算。简而言之,“自私采矿”攻击的核心思想是“自私采矿”池(以下简称“恶意矿池”)故意延迟其计算出的新区块的发布,并控制它自己私人的分支,导致链的分叉,并利用最长链原则,实现自己的收益最大化。

2.分析

一开始,自私的矿工会在最长链上挖矿,就像协议希望的那样。不过,一旦 TA 挖出了一个区块,TA 会先把这个区块藏起来,而不是立即发布出去,然后尝试在这个秘密块后继续出块,形成一个 “秘密分支”


与此同时,其它矿工会延长公开的那条链,这条链最终会变得更长。而自私挖矿的矿工会继续延长其秘密分支,直到公开分支只落后一个区块。然后自私矿工就会把自己的秘密分支发布出来。

因为秘密分支更长,那么另一方就会认为这条才是主链,从这时开始,所有人都会跟随自私矿工的分支,而其他矿工挖出的区块会被抛弃 —— 被忽略,并使得出块矿工一无所获。

但这种策略也不是万无一失 —— 从开始秘密挖矿时起,自私矿工就一直承担着风险。如果 TA 出了一个秘密区块同时别的矿工也出了一个区块,TA 就不能靠发布这个秘密区块来变成最长链;相反,此时会变成两个同样长的分支在竞争最长链。

自私矿工的收益与算力规模的函数

三、危害及发展

1.危害

此时,网络里存在两条链,一条公开的,一条隐藏的。自私挖矿的时候,并没有保护网络的安全性。这导致了两个问题
1 .网络的安全性下降了,不需要50%的算力也可以进行攻击;
2 .一些算力较小的矿工,也会发现自私挖矿对于他们严格有利(因为全网的算力实际上变小了)。

2.发展

1.扩展“自私采矿”战略——“EqualFork Stubborn”和“Trail Stubborn”
2.贝叶斯博弈公式用于模拟战略中“自私采矿”矿工的选择行为

以上是关于比特币的自私挖矿的主要内容,如果未能解决你的问题,请参考以下文章

自私攻击挖矿

@比特币怎么挖出来的?!比特币的挖矿教程详细步骤!

比特币的产生----挖矿原理

比特币的产生----挖矿原理

比特币的产生----挖矿原理

chia挖矿:第二个比特币的头矿收益有多少?(下)