0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

比特币51%攻击是什么?比特币6个确认数是怎么得到的?

lviY_AI_shequ ? 2018-07-21 10:05 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、51%攻击

51%攻击指的是,有人掌握了全网一半以上的算力,就可以和全网其他算力进行对抗,更改区块链记录了。最根本的原因是比特币区块链采取的是最长链原则,即当前最长的链被认为是主链,是正确的链。51%具体能做什么呢?

1. 假设51%算力仍然是遵循比特币的规则

这个时候,仍然需要签名才能进行转账交易等,那么51%攻击,不能修改别人的账户下的金额,不能将别人账户金额转到自己的账户下,只能对自己的账户进行操作,比如双重支付(双重支付可以有两种方式:要么是在交易被确认之前,要么攻击者通过块链分叉来完成)、阻止确认其他交易。

2. 假设51%算力不遵循比特币的规则

这个时候,51%算力可以修改区块链规则,比如,放弃非对称加密的签名机制,转账不需要签名也可以进行,51%算力就可以将其他账户下的金额转到自己名下,因为他掌握了一半以上的算力,所有规则都可以修改,不需要其他算力的参与(因为长远来看,他总是能跑赢其他算力)。

二、6个确认数

为啥掌握51%的算力就能破坏比特币网络呢?从直观感觉上确实如此,将攻击节点算力和诚实节点算力当作两个人,挖矿行为就像赛跑一样,当然是速度快的人最终赢得比赛。其实中本聪在论文中做了数学上的分析。另外,现在比特币转账,都建议等待6个确认数之后,资金才认为是安全的,在他的论文中也做了解释。

首先,所有推导都有一个前提,就是区块随着时间按照大致恒定的速度产生,也就是说,每间隔T0(10分钟)产生且只产生一个区块。

假设当前网络算力是H,诚实节点算力是pH,攻击节点算力是qH,p + q = 1。因为算力本身就是指每个固定时间间隔内能计算Hash的次数,在比特币中,每10分钟产生一个区块,我们可以将10分钟当做一个最小的时间间隔,那么诚实节点算力和攻击节点算力是说:每10分钟发起一次计算的比赛,在这10分钟内,诚实节点能计算k * p次,攻击节点能计算k * q次(k只是一个系数而已,并不重要,重要的是比值),由前提可知:平均意义上,不存在诚实节点和攻击节点都没挖出区块(某个10分钟存在这个情况的话,那么下一个10分钟会降低挖矿难度),也不存在诚实节点和攻击节点都挖出区块(某个10分钟存在这个情况的话,那么下一个10分钟会增加挖矿难度)。所以可以这样认为:诚实节点有概率p挖出一个区块(此时,攻击节点没有挖出区块),攻击节点有概率q挖出一个区块(此时,诚实节点没有挖出区块)!即使诚实节点和攻击节点在两条分叉链上互不影响的挖矿,整个区块链网络也符合这个速度上的特点,这点是理解后面公式的关键。

关于某个交易得到多少个确认数之后资金才是安全的这个问题,在中本聪的论文中,将这个问题,分为两步(假设是n个确认数之后):

1) n是指,在该交易之后,诚实节点已经挖出了n块,也就是诚实节点对这个交易做了n次确认,因为攻击节点的目的是破坏这个交易,不会浪费自己丁点儿的算力对这个交易做任何确认。这个时候,攻击节点挖出了多少块?(可以理解为,该交易之后,攻击节点就在暗地里将区块链条分叉了,并且不将自己分叉之后的工作放到区块上,而是一直在自己的链条上单独挖矿,等到合适的时机,才会公开自己的工作)

2) 假设这个时候,攻击节点挖出了m块,和诚实节点差距是z = n – m,攻击节点弥补这个差距,追上诚实节点的可能性是多大?

先看第一个问题,中本聪从固定时间间隔的角度出发,他认为,诚实节点T0内挖出一个区块的概率是p,那么平均而言,T0 / p 的时间间隔肯定能挖出一个区块,那么诚实节点挖出n块,共消耗了To * n / p的时间间隔。攻击节点T0内挖出一个区块的概率是q,那么T0 * n / p的时间间隔内,平均而言肯定能挖出q * n / p块,而且每个T0 * n / p的时间间隔内,挖出的块数差不多。将T0 * n / p当做一个单位时间间隔,那么求解的问题是:单位时间内随机事件发生的次数的概率分布。而泊松分布就是描述这个概率的工具。可以参见:维基百科-泊松分布。λ 表示单位时间间隔内发生的次数,即为q * n / p。

而Analysis of hashrate-based double-spending这篇论文认为,不应该从固定时间间隔的角度进行估算,认为中本聪的计算只是一个简化模型。该论文认为,依然从块数出发,相当于:攻击节点在经历至少n次失败(诚实节点挖出了n块),能挖出的块数,而负二项分布就是描述这个问题的工具,可以参见:维基百科-负二项分布。这个概率公式很简单,不做解释,可以参见论文。该论文最后得出的概率值,和中本聪的模型的概率值大致相当,只是略有差别。

接着看第二个问题,这里再次说一下推导的前提,就是区块随着时间按照大致恒定的速度产生,也就是说,每间隔T0(10分钟)产生且只产生一个区块。明确了这个前提,就能发现,其实诚实节点和攻击节点是互斥的,每10分钟只能有其中之一节点发现一个区块,即使他们可能在两个分叉上。那么这个问题就像中本聪在论文中说的,可以等同于赌徒破产问题,可以参见:维基百科-赌徒破产问题或者赌徒破产问题。其中的递推公式

Pa= pPa+1+ q Pa-1,a=1,2,…,N-1

是说,假设初始有a个,如果以概率p获得一个金币,那么就等同于初始有a + 1个金币,如果以概率q失去一个金币,那么就等同于初始只有a – 1个金币。应用到比特币中,可以从诚实节点的角度出发,理解为,初始的时候,诚实节点有z个金币,怎么赌博而失去了所有z个金币或者财富一直增加。具体请参照中本聪的论文。

下面是Analysis of hashrate-based double-spending中列出的,不同攻击节点q概率和等待确认数n的情况下,攻击节点追赶上的概率(因为该论文提出的模型和中本聪提出的模型计算结果相差不大,并且提供的数据比较全,所以使用这个表格)

6个确认数是怎么得到的呢?是假设攻击节点算力在10%左右,发起攻击成功概率小于0.1%的确认数,从上表中可以看出是6。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 区块链
    +关注

    关注

    112

    文章

    15568

    浏览量

    108965
  • 比特币
    +关注

    关注

    57

    文章

    7007

    浏览量

    143628

原文标题:比特币 (9):51%攻击和6个确认数

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    全球首个!低温下可精准控制“百万量级量子比特”芯片问世

    电子发烧友网综合报道 6月30日消息,澳大利亚悉尼大学与新南威尔士大学的研究团队在量子计算领域取得里程碑式突破——他们成功开发出全球首个在低温环境下可精准控制“百万量级量子比特”的芯片,相关成果
    的头像 发表于 07-07 05:58 ?2433次阅读

    如何提升音频音质?比特率和采样率是关键!

    在挑选音响、声卡、耳机等音频设备时,我们都会特别关注其音质表现——这关乎到我们聆听音乐、观看电影等娱乐体验的质量。实际上,我们可以在音频设备中看到一些名词标注:比特率、采样率……这两可是影响音
    的头像 发表于 02-05 17:26 ?3330次阅读
    如何提升音频音质?<b class='flag-5'>比特</b>率和采样率是关键!

    玻色量子上线550量子比特云服务

    2025年1月,由北京玻色量子科技有限公司(简称“玻色量子”)自研的相干光量子计算云平台正式上线,可支持550计算量子比特云服务(以下简称“玻色量子550量子比特云服务”)。
    的头像 发表于 01-13 09:11 ?1180次阅读

    比特大陆与Alps Blockchain达成合作

    Hyd.,并配备比特大陆的水冷集装箱系统ANTSPACE HK3,以在爱荷华州新建一座70MW的现代化矿场。 此次合作对于Alps Blockchain来说,无疑是一重要的里程碑。通过引进比特
    的头像 发表于 01-09 16:12 ?796次阅读

    DAC1280 TDATA引脚输入的比特流,怎么产生这个比特流,算法是什么?

    我想请问下关于DAC1280的TDATA引脚输入的比特流的问题: 1,怎么产生这个比特流,算法是什么? 2,怎么控制输出信号的频率? 对您的回答感激不尽,谢谢。
    发表于 01-06 06:21

    微软股东投票反对配置比特

    比特的大涨似乎吸引了很多眼球,似乎连微软也不例外,NCPPR曾提议微软公司用1%到5%的利润购买比特,投资获得的收益可以对冲通胀。但是微软还是相对谨慎的拒绝了。 此前微软董事会早些
    的头像 发表于 12-11 14:30 ?2380次阅读

    比特价格飙升,突破10万美元大关

    近期,比特市场价格呈现出显著的上涨趋势,尤其在最近数月内,其价格飙升更是引人注目。截至最新数据,比特的价格已经成功突破103,000美元/枚的重要关口,单日涨幅高达5%以上,再次刷
    的头像 发表于 12-06 11:12 ?667次阅读

    比特突破99000美元

    比特价格日内上涨3.4%;一度触及99000美元的高点。 利好消息是美国候任总统特朗普提名支持加密货币的保守派律师阿特金斯(Paul Atkins)出任美国证券交易委员会(SEC)主席。这个消息引燃了新一轮的比特
    的头像 发表于 12-05 11:01 ?2343次阅读

    请问怎么理解DAC1280的比特流?

    关于DAC1280这个芯片的1s density modulation怎么理解。我的理解:1S不断的往TDATA引脚输入高低电平,根据1S内传输的比特流中1占得比重来输出一对应的电流。这样的话根据采样定理,按照一周期10
    发表于 12-05 06:04

    寻找超导量子比特信息丢失的原因

    一项新研究为超导量子比特中的信息是如何丢失的提供了新线索。 今天谈一全世界都非常关注的东西——超导量子比特。 我们知道,量子计算可能为我们带来不可思议的指数级计算加速,为我们的未来注入无限的想象力
    的头像 发表于 11-21 10:11 ?608次阅读

    请问aic3254可以调节比特率吗?需要涉及哪些相关的寄存器?

    请问aic3254可以调节比特率吗,如果可以,需要涉及哪些相关的寄存器? 我在文档中,看到了48k、96k、192k的字样,但是没有看到具体需要配置的寄存器。
    发表于 11-01 07:23

    科技看点:微软将审议比特投资提案 2024年乌镇峰会AI“含量”高

    给大家分享一些科技巨头的最新消息,比如微软;还有一些业界重大科技新闻。 微软将审议比特投资提案 据外媒报道微软公司将在12月10日的年度股东大会上“评估投资比特”的提案。微软表示“
    的头像 发表于 10-25 16:49 ?3092次阅读

    一种使用LED组成一比特之箭图案的设计

    比特之箭 如果使用LED组成一比特之箭图案,而且有不同的点阵变化似乎是一不错的想法。电子工程师的浪漫不在乎制作出来成品它有多么的完美,而是在于实现过程的困难。
    发表于 10-24 17:22 ?2489次阅读

    波特率与比特率有何关系 波特率与数据传输速率的关系

    状态变化的次数,即每秒钟传输的符号数。它通常用于衡量调制解调器、无线通信设备等的数据传输速率。波特率的单位是波特(Baud),1波特等于每秒传输一符号。 比特率(Bit Rate): 比特率是指每秒钟传输的
    的头像 发表于 10-18 14:55 ?2634次阅读

    比特率和波特率的计算公式及举例说明

    比特率(Bit Rate)和波特率(Baud Rate)的计算方法分别涉及数据传输的不同方面,下面将分别进行说明。 比特率的计算 比特率是指单位时间内传输的二进制代码位数,单位是比特
    的头像 发表于 08-05 15:18 ?2762次阅读