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。

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

    关注

    110

    文章

    15554

    浏览量

    104738
  • 比特币
    +关注

    关注

    57

    文章

    7000

    浏览量

    139321

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

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

收藏 人收藏

    评论

    相关推荐

    比特冲刺创业板上市

    近日,深圳证券交易所已对深圳市斯比特技术股份有限公司(下称“斯比特”)发出第2轮审核问询函,这是对其在创业板上市申请的进一步审查。据了解,斯比特于2023年6月递交了招股书,正式启动了在创业板的上市进程。
    的头像 发表于 01-30 11:35 760次阅读

    逻辑比特科技获千万种子轮融资,专注研发大规模科技

    据了解,该公司主要成员均出身于浙江大学超导量子计算团队,自2010年起不断取得突破,先后制造出10比特与20比特操控设备,成功两次刷新全球超导量子系统全局纠缠比特纪录;2021年,推出30比特
    的头像 发表于 01-19 13:58 319次阅读

    比特币价格跳水跌破41000美元 比特币创四个月最大跌幅

    比特币价格跳水 比特币创四个月最大跌幅 12月11日,比特币的价格盘中一度大跌7.5%并跌破41000美元。而在上周比特币价格在利好传闻下才放肆突破了44000美元的大关。
    的头像 发表于 12-12 11:50 3499次阅读

    比特量化技术如何帮助LLM提升性能

    针对大语言模型 (LLM) 在部署过程中的性能需求,低比特量化技术一直是优化效果最佳的方案之一,本文将探讨低比特量化技术如何帮助 LLM 提升性能,以及新版 OpenVINO 对于低比特量化技术的支持。
    的头像 发表于 12-08 15:26 626次阅读
    低<b class='flag-5'>比特</b>量化技术如何帮助LLM提升性能

    比特币价格突破42000美元 比特币价格创下年内新高

    比特币价格突破42000美元 比特币价格创下年内新高 比特币创下年内新高,比特币价格突破了42000 美元。创下2022 年4月以来新高。为全球关注数字货币的人群注入了新的期待和热度。
    的头像 发表于 12-05 09:24 2466次阅读

    labview将视频转为比特

    labview怎么导入视频,然后再将其转化为比特流?新手小白,求助各位大佬解答,最好能给vi例子解释一下,非常感谢
    发表于 10-18 23:58

    如何使用C代码中的比特段幅操作

    v1.1 Bitbanding 是 Cortex-M4 处理器的一特征, 该处理器将每个单词绘制在记忆的别名区域, 将其绘制为记忆的比特波段区域。 这样可以让 SRAM 或外围登记册中的单个字段由单项指令
    发表于 08-31 09:58

    用于配置两QSPI将序列数据比特传输到其它设备

    : NuMaker-M483KKG V1.1 此示例代码用于配置两 QSPI 将序列数据比特传输到其它设备。 通过 2 位传输模式, 两 QSPI 同时传输 4 序列数据
    发表于 08-29 06:38

    比特币激活的电源插座

    电子发烧友网站提供《比特币激活的电源插座.zip》资料免费下载
    发表于 07-11 16:15 0次下载
    <b class='flag-5'>比特</b>币激活的电源插座

    比特率和波特率有什么区别

    有关比特率和波特率的知识,介绍了什么是码元,波特率与比特率的概念与区别,比特率与波特率的关系是什么样的,以及信道的传输速率、吞吐量等知识,一起来看下。
    的头像 发表于 06-29 16:51 1993次阅读

    176比特“祖冲之号”量子计算云平台正式上线

    量子计算总负责人、中国科学技术大学教授朱晓波对记者说,比特数是衡量量子计算机计算能力的重要指标。中国科技大学研发小组在原“祖冲之号”66位芯片的基础上进行升级,新增110个耦合比特的控制接口,使用户可以操作的量子比特数达到176
    的头像 发表于 06-02 10:05 556次阅读

    用离散变量编码的逻辑量子比特打破盈亏平衡点

    传统的量子纠错方案利用大量的离散物理比特来编码一个逻辑量子比特,其逻辑量子比特的编码由两个高度对称的多物理比特纠缠态基于离散变量编码形成。这种编码方案不仅需要巨大的硬件资源开销,并且发
    的头像 发表于 05-31 14:51 331次阅读
    用离散变量编码的逻辑量子<b class='flag-5'>比特</b>打破盈亏平衡点

    “寿命”最长的量子比特出现

    制造量子计算机的第一步是选择如何制造其核心要素量子比特。迄今为止,商业上最成功的超导量子比特是晶体管。但是,和所有的量子比特一样,如果在环境中出现任何小的干涉,这种量子比特在短时间内就
    的头像 发表于 05-31 09:39 419次阅读

    比特率、波特率与频谱带宽关系,你知道多少?

    宽带网络里面提及的千兆即1000Mbit/s,一般描述的是我们家网络端口每秒最大可接收0、1比特(bit)的数量,即每秒可接收1000x106个比特。显而易见,比特率越高,每秒传送的比特
    发表于 05-16 11:16 1980次阅读
    <b class='flag-5'>比特</b>率、波特率与频谱带宽关系,你知道多少?

    什么是比特率和波特率?比特率、波特率与频谱带宽关系解析

    总的来说,比特率是每秒钟传送的比特数量,又称为传信率。比特率基本单位为bit/s或bps,全称为bit per second。如果每秒钟内传送的比特数量较多,
    发表于 05-10 09:36 3954次阅读
    什么是<b class='flag-5'>比特</b>率和波特率?<b class='flag-5'>比特</b>率、波特率与频谱带宽关系解析