美文网首页区块链大学BIU区块营-区块链精品文章专辑区块链研习社
BIU区块营精读《比特币白皮书》区块圣经(11)计算

BIU区块营精读《比特币白皮书》区块圣经(11)计算

作者: Biu区块营 | 来源:发表于2018-10-07 19:22 被阅读0次

    BIU区块营出品 B-0023 (@BIU64)

    《比特币白皮书》作者:中本聪 丨 版源:巴比特译本

    11. 计算

    友情提示,本章内容的确比较难以理解,大家可以直接拖到最后看倒数两段即可~当然,有想法的童鞋也可以对比原文思考一下。

    熊市用知识武装自己,给牛市的飞翔增加无限可能。

    诸君,共勉。

    我们之前曾经讨论过对于比特币网络进行攻击的可能性,尽管存在有51%攻击的可能性,但随着全网算力和市场的不断增长,该攻击发生的可能性已经不断的减小了。

    但在比特币网络刚刚诞生运行的时刻,这种情况的发生概率很大。其实基本所有使用POW且处于算力虚弱期(不足以分散且总值较低)的币种都具有此种风险(POS亦然但实现方式途径不同),比如在此之前的BTG等网络都曾被成功攻击过。

    而针对这种可能,中本聪在本章内从概率学等方面以数学和代码形式对其进行了分析。首先在这里的分析中,我们必须要明确一个观点,即发生51%并不能就使攻击者拥有修改比特币网络任意数据的能力,这与传统数据库存在性质上的差别。即使某人拥有足够算力发动51%攻击,也只能修改周期内的交易数据,因为其他节点完全可以对于该笔交易进行拒绝,所以这种攻击的获益途径,只能是攻击者通过发送多笔重复交易给不同对象,或同时支付给自己,继而将已被实现的给他人的交易被发送给自己的交易所替代。

    想要实现这种效果,首先攻击者得具备足够多的筹码用于欺诈支付以获得收益,其次他必须具备足够强大的算力以确保能够追赶并超越最长的链(就是他将要用于欺诈交易提交的那条)并成功取而代之,最后他必须具有足够的运气来实现攻击。

    中本聪将这种过程以二叉树随机漫步(Binomial Random Walk)来描述,这是一个组合概念,二叉树可以形象的理解为一颗每次分出两个分支的数(实质上是一种数据和可能遍历存储模式),而随机漫步则指根据已有数据,难以预测或无法得到规律。

    上图为中本聪在计算过程中的代称,发动攻击的过程实质上是诚实链和攻击链之间的竞赛,发动攻击者必须在正常链上发送一笔交易(目前来看这种交易对象一般都是交易所),之后在交易所确认该笔交易的同时,开始在这笔交易尚未发送前时的区块基础上发送另外一笔交易给自己或其他地址。我们之前提到过UTXO,这种机制确保了每一笔比特币交易的实现只需要确认未支付余额即可,而不需要再查询地址余额,于是如果攻击者给交易所支付后,实际上在诚实链上,他的UTXO已经为零。攻击者想要做的就是发送另一笔交易,重复利用自己的UTXO,继而将自己重复发送过的交易接上后续的区块,取代之前发送过的正常链。

    每个节点取得记账权的机会都是随机的,其概率与其算力成正比。就比方总共一百张彩票,你买了五十张中头等奖的概率肯定要比买一张的概率大。但概率之所以为概率,就说明并不会完全按其比例实现,总会有各种意外出现。而攻击者要实现的,就是连续多次拿到这个记账权。这就相当于足彩买复选,每多一次复选,概率就会随之降低。因此随着时间流逝,攻击者成功的概率也会降低。

    上图是攻击进展的泊松分布(Poisson distribution),是对攻击者进程的一种表现,可以看做是一条变化的线,象征攻击实现的进度。

    再将这个进程乘以攻击实现的概率:

    以该公式而得出的概率结果就是:

    这里看起来很复杂,但实际上我们可以抛开过程只看结果:

    很明显,q值的上升将会使z值产生指数级上升,而z就是攻击者需要追赶的区块数。我们已经说明了攻击难度会随着区块数的增加而线性上升,增加速率可能比爆拉的K线还要夸张。如果这种攻击成功的可能性已经被缩减到100000亿分之一,那么我们实际上可以默认不会发生。所以我们可以用图中看到,如果正常算力达到45%,攻击者就需要连续追赶340个区块,这是个天文数字。但同样的,如果诚实节点具备的算力只有10%,那么攻击就只需要5个区块就可以实现。但问题是,敢问谁可以说自己具备比特币90%的算力?截止此刻,比特币全网算力已经达到48.57 EH/s,再看看1080ti的1.8GH/s小水管。。。。还是省省吧。

    所以,时至今日的比特币网络,基本上可以断定不会发生51%攻击,而且其发生概率还会不断的降低。安心拿好你的比特币吧,只要藏好私钥,神仙来了也没法(当然不可抗力除外。手动斜眼)

    相关文章

      网友评论

        本文标题:BIU区块营精读《比特币白皮书》区块圣经(11)计算

        本文链接:https://www.haomeiwen.com/subject/kfxraftx.html