• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >区块链 > 工作量证明(PoW)的内部攻击模型

工作量证明(PoW)的内部攻击模型

作者:巴比特 字体:[增加 减小] 来源:互联网 时间:2018-11-03

巴比特向大家分享了工作量证明(PoW)的内部攻击模型,其中包含工作量证明,PoW等知识点,遇到此问题的同学们可以参考下
虽然,POW算法其实并没有协调选择博弈论中的安全性,因为多数联盟可以形成和有益的审查和回复块。但是当我们考虑PoW的攻击时,通常不会考虑到矿工联合攻击,而是想到购买矿工设备或者对更重链进行挖矿。这篇文章主要是谈论PoW对抗控制半数哈希力攻击的能力,不允许租用,或贿赂矿工,或与矿工进行任何其他形式的合作。

外部攻击

外部攻击者购买足够的GPU或者ASIC直到完成对可信网络的“51%攻击”,或者至少不与攻击者合作。


假设通过给1个GUP可挖矿的区块链增加X哈希力,并且会让这个X哈希算力的GPU矿工从挖这个区块链转移到其他区块链(因为如果不这样,攻击者的链就会获利变少)。GPU挖掘假设是一种有效的、完全竞争的区块链市场。

在这个“简单模型”中,对于有T算力的区块链,攻击者需要的算力是X=T/2,这些是非常多的GPU。

同时,假设通过增加X的ASIC算力,ASIC网络的算力提升了X。ASIC挖矿区块链是一种垄断市场。在另个“简单模型”中,如果要攻击T算力的ASIC区块链,则需要有T算力才能发动攻击。

事实上,真实的情况是介于两者之间。区块链GPU矿工市场并不是完全竞争的,区块链ASIC矿工也不是完全垄断。

尽管这非常有趣,但是我们尽量保持简单:不再讨论ASIC,假设我们就需要T/2的算力,来攻击拥有T算力的区块链。

而且,这其实应该是“充分竞争”的场景,因为矿工在发现有攻击者出现的时候,就会立刻去挖别的,因为区块链受到攻击意味着利润降低。

所以,我们模型的关键,就是持有T/2的算力,就可以攻击拥有T算力的区块链。

内部攻击者

内部攻击者不会去购买足够的GPU来获得T/2的算力,而是购买更少部分的算力X= p*T。内部攻击者开始挖矿,并且现在网络最诚实的部分拥有Y = T - X = (1 - p)*T算力。内部攻击者继续在最长的链上挖矿,获得区块奖励,和其他矿工竞争。
内部攻击者会将挖矿奖励用于购买更多算力。假设在我们的模型,内部攻击者能够以每月1+r的速率来增加算力。也就是说,如果内部攻击者在0月份获得X算力,那么在1月份就会获得X(1 + r)的算力。

同时也假设最诚实的矿工也投资来获得更多算力,但是按照每月1+h的速率增加。

在这个实验中,我们假设1 + r > 1 + h。攻击者都会想要最大化自己的算力。最诚实的矿工专注于利润。攻击者也许会因为这种利益获得赞助,或者长期的策略。最诚实的矿工不会和这个攻击者合作,并且不知道有攻击者的存在(攻击者会看起来是诚实挖矿,但是自私挖矿会增加r – h的值)。

在N个月之后,内部攻击者已经有了X(1+r)^N的算力,而且网络还剩下Y(1+h)^N算力。攻击者在获得和网络同样算力的时候,就胜利了。 X(1+r)^N =Y(1+h)^N <==> ((1+r)/(1+h))^N = Y/X = (1-p)/p 我们把(1+r)/(1+h)比例成为攻击者的“优势”,并且记为a。所以当a^N = (1-p)/p时,攻击者胜利。

内部攻击者有a和初始哈希力的比例p,因此可以在经过N = ln((1 - p)/p)/ln(a) months月后,进行成功的攻击。同时,也不一定就是月份,在任何阶段数学都是不变的,只要我们能够计算出“a”。

下面表格中的数字可以帮助我们理解:

根据上面的数字,对于内部攻击来说,每个月都有5%, 10% 和25%的涨幅,而且网络的初始算力有10%, 20% 或者 30%。

那么对于这个模型,我们有多少的安全性呢?

了解这个“内部”策略的外部攻击者有选项。如果他们知道他们会在N个月后进行攻击,而且他们也知道自己的a是多少,然后他们就会计算需要的初始算力比重。也就说,他们可以计算出自己所需要的GPU.
如果攻击者知道他们所需要的GPU,已经a的值,那么他们就可以计算所需要的月数来获得他们攻击目标的大多数算力。

那么区块奖励让我们获得了什么?

增加区块奖励可以增加购买算力的成本。攻击者之前可以买得起10%的算力,但是现在可能只能买得起5%的算力,来开始他们的攻击。

如果将区块奖励翻倍,那么就会延迟区块奖励: ?N =ln((1 - p/2)/(p/2))/ln(a) - ln((1 - p)/p)/ln(a) = (ln((2 - p)/p) - ln(p/(1 - p)))/ln(a) = ln((2-p)/(1-p))/ln(a) 所以如果增加区块奖励,就可以降低a的值,然而降低了购买哈希算力p的能力,从而也降低了?N = ln((1-p)/(2-p))/ln(a)攻击成功的概率。

请看另一个表格。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一文读懂共识机制
  • 工作量证明(PoW)的内部攻击模型
  • 最全共识算法盘点
  • 执行任务量证明与工作量证明(PoW)和权益证明(PoS)
  • 寻找小丑鱼Nemo:一文读懂区块链工作量证明机制
  • 熊市学技术—《挖矿=POW=工作量证明》

相关文章

  • 2018-11-03详解什么是虚拟货币
  • 2018-11-03区块链时代的拜占庭容错:Tendermint(一)
  • 2018-11-03什么是BCH(Bitcoin Cash)比特币现金
  • 2018-11-03解密比特币:Russell Yanofsky拆解古老的加密代码
  • 2018-11-03IBO的金融原理和应用方向分析
  • 2018-11-03Aion挖矿教程(鱼池F2Pool)
  • 2018-11-03STO与IPO、ICO之间的区别是什么
  • 2018-11-03什么是分布式存储?(IPFS, FileCoin, Sia, Storj,Swarm)
  • 2018-11-03Solidity Types-动态大小字节数组
  • 2018-11-03区块链共识类型:消逝时间证明、权威证明、带宽证明

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • 如何使用深度学习硬件的空余算力自动挖矿
    • 区块链共识类型:PoW, PoS, DPoS, PoST
    • 以太坊交易的生命周期
    • 熊市学技术—《挖矿=POW=工作量证明》
    • imToken如何导出与导入钱包
    • 数字货币和区块链技术名词汇表
    • 瑞波币Ripple(XRP)最新详细教程
    • 如何购买比特币(买卖详解图文教程篇)
    • 区块链技术在信任经济中的思路解读
    • Coinone数字货币交易所 注册攻略

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有