比特币最长链共识为什么是6个块确认???4个,8个,11个不行吗???

知其然

我们知道比特币的都知道比特币有一个6个区块的最长链确认机制,但是知道归知道.我们可曾想过这里为什么是6个,而不是4个,8个或者11个呢?

难道就是为了确认随便定的吗,可是堂堂中本聪何许人也?他在考虑这个问题时候又是怎么想的呢?

不求甚解

由于各种因素,在区块链上会不可避免地产生临时分叉.简单地说(只是表达这个原理,实际可能不是这么计算),当有链上发生节点攻击而产生分叉时,在一定的出块时间内要么诚实节点出块,要么攻击节点出块,总之肯定有一个会出块。假设他们出块的概率为p和q并且攻击结点会一意孤行的在自己的链不断出块,p+q=1。

一般攻击节点的算力也不会太大,我们这里举例诚实节点出块概率为3/4,攻击节点概率为1/4,那么他们各出一个块后再继续出块他们成为主链的概率分别为9/16和1/16。继续下去当诚实节点的链上确认块越多,成为合法主链的概率也就越大(当然这都是假设诚实节点算力较大),越往后这个成功率就会趋近于1。反之,攻击节点的成功率就会不断趋近于零。

综上,当产生分叉时就需要N个区块的确认来确认最长链,至于这个N到底是几呢?

Analysis of hashrate-based double-spending(基于哈希率的双重支付分析)中列出一个表来表示攻击结点出块概率,诚实节点确认块数和攻击结点攻击成功率的关系.从表中可以看出,当攻击节点拥有2%算力,诚实节点确认5个块后,攻击成功的概率就约等于零了。这里也能看出比特币的“6个区块确认最长链”的准则是基于攻击节点拥有10%的算力假设(这个攻击实力已经相当可观了)!

Analysis of hashrate-based double-spending

知其所以然

其实,这个问题中本聪在他发布的比特币白皮书(中文翻译戳这)中已经有所提及:

设想如下场景:一个攻击者试图比诚实节点产生链条更快地制造替代性区块链。即便它达到了这一目的,但是整个系统也并非就此完全受制于攻击者的独断意志了,比方说凭空创造价值,或者掠夺本不属于攻击者的货币。这是因为节点将不会接受无效的交易,而诚实的节点永远不会接受一个包含了无效信息的区块。一个攻击者能做的,最多是更改他自己的交易信息,并试图拿回他刚刚付给别人的钱。 诚实链条和攻击者链条之间的竞赛,可以用二叉树随机漫步(Binomial Random Walk)来描述。成功事件定义为诚实链条延长了一个区块,使其领先性+1,而失败事件则是攻击者的链条被延长了一个区块,使得差距-1。 攻击者成功填补某一既定差距的可能性,可以近似地看做赌徒破产问题(Gambler’s Ruin problem)。假定一个赌徒拥有无限的透支信用,然后开始进行潜在次数为无穷的赌博,试图填补上自己的亏空。那么我们可以计算他填补上亏空的概率,也就是该攻击者赶上诚实链条,如下所示:

image.png

假定p>q,那么攻击成功的概率就因为区块数的增长而呈现指数化下降。由于概率是攻击者的敌人,如果他不能幸运且快速地获得成功,那么他获得成功的机会随着时间的流逝就变得愈发渺茫。那么我们考虑一个收款人需要等待多长时间,才能足够确信付款人已经难以更改交易了。我们假设付款人是一个支付攻击者,希望让收款人在一段时间内相信他已经付过款了,然后立即将支付的款项重新支付给自己。虽然收款人届时会发现这一点,但为时已晚。 收款人生成了新的一对密钥组合,然后只预留一个较短的时间将公钥发送给付款人。这将可以防止以下情况:付款人预先准备好一个区块链然后持续地对此区块进行运算,直到运气让他的区块链超越了诚实链条,方才立即执行支付。当此情形,只要交易一旦发出,攻击者就开始秘密地准备一条包含了该交易替代版本的平行链条。 然后收款人将等待交易出现在首个区块中,然后在等到z个区块链接其后。此时,他仍然不能确切知道攻击者已经进展了多少个区块,但是假设诚实区块将耗费平均预期时间以产生一个区块,那么攻击者的潜在进展就是一个泊松分布,分布的期望值为:
image.png

化为如下形式,避免对无限数列求和:
image.png

此外,他还给出了C语言的实现:

#include <math.h>
double AttackerSuccessProbability(double q, int z)
{
 double p = 1.0 - q;
 double lambda = z * (q / p);
 double sum = 1.0;
 int i, k;
 for (k = 0; k <= z; k++)
 {
     double poisson = exp(-lambda);
     for (i = 1; i <= k; i++)
     {
         poisson *= lambda / i;
     }
     sum -= poisson * (1 - pow(q / p, z - k));
     }
 }
 return sum;
}

copy完上面的解释后,到代码这里我们就可以亲测一下为啥是6个区块数确认呢???

这是我的测试代码:

AttackerSuccessProbability_test

编译并运行:

image.png

这个结果和上面提到的参考表在数值上会有一些出入,但是大体不差(上述结果和白皮书给出计算结果相同).当假设攻击结点拥有10%算力(这个算力已经相当可观),当诚实链确认块数达到6的时候其攻击成功的概率为0.02%,这个值相比上个值足够接近0并远离0.1%(确认块为5时攻击成功概率为0.09%).

写在后面

最近刚工作比较忙所以好久(快一个月了)没有更新文章了.近两周的工作,感觉自己真的还是个区块链里的小白,还有很多东西需要去吃透吃通.

链圈路漫漫,吾将上下而求索!(还好超哥只在链圈混,最近币圈比特币带动的暴跌丝毫不能影响超哥对区块链技术的热情...).

参考文献

.
.
.
.

互联网颠覆世界,区块链颠覆互联网!

--------------------------------------------------20181129 23:38
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容