比特币史话·63 | 赌徒的破产(4): 算力对决

(布莱士·帕斯卡,法国物理学家、数学家。图片来源于网络)

前情回顾:
比特币史话·60 | 赌徒的破产(1): 私钥并不神秘
比特币史话·61 | 赌徒的破产(2): 薛定谔的猫
比特币史话·62 | 赌徒的破产(3): 双花欺诈

正文:
双花欺诈所攻击的对象,正是比特币所构建的纳什均衡全局共识,即比特币系统的区块链公共账本,那条积累了最大工作量证明的最长链。因此,双花攻击,又被称作“共识攻击”。
在共识攻击场景下,攻击者所要努力达成的目标,就是如中本聪在比特币白皮书中所写的,“尝试以比诚实链更快的速度生成一条替代链”。中本聪所说的“诚实链”,是指原本未被攻击的、由诚实节点所维护的最长链。一旦攻击者得逞,他就可以成功生成另外一条替代链,使其长度超过诚实链,所有其他节点都会坚持跟随最长链的原则,从而使得攻击者篡改过的替代链成功取代原来的诚实链,成为新的全局共识。
不过中本聪同时也指出,“即使成功完成攻击,也不会使系统大开门户、任由更改,比如凭空创造价值(指增发比特币)或者盗取不属于攻击者的钱(指偷别人地址里的比特币)。节点将不会接受无效交易作为付款,诚实节点将永远不会接受包含无效交易的区块。攻击者只能尝试更改其自己的一项交易以取回最近花掉的钱。”
增发比特币有两种情形,一是在币基交易铸币时超发,二是在转账交易时增发,两者本质上是由博弈论约束的。偷别人地址里的比特币则是由密码学约束的。攻击者在生成更长链的竞赛中获胜并不能赋予他摆脱博弈论或密码学约束的能力。
回到这个攻击方法本身。双方比拼的就是延长各自的区块链,创建区块需要生成工作量证明,生成工作量证明需要耗费算力。因此,这是一场算力对算力的白刃战,两杆算力之矛,屠龙刀对倚天剑,刀光剑影,血雨腥风,地动山摇,你死我活。
双方打了不知有多少个回合,如何分出胜负?中本聪让诚实链作为擂主,而让攻击者作为挑战者。擂主拥有一些数量的初始筹码,代表领先挑战者的区块个数。
中本聪写道,“诚实链和攻击链之间的竞赛可以用「二项随机游走模型」(Binomial Random Walk)进行刻画”[2008年比特币白皮书]。当诚实链成功延长一个区块,筹码数就增加1个,反之,当攻击链成功延长一个区块,筹码数就减少1个。
一旦挑战者把擂主的筹码全部消灭,那么就宣告挑战成功!整个网络都会转而认可挑战者的替代链成为最长链,挑战者成为新的擂主。整个挑战过程时间不限,回合不限,一直打到决出胜负为止。
那么,我们是否可以预测一下,挑战者是否有机会最终挑战成功?如果是,那么他需要多少个回合能够挑战成功?
此时此刻,算力就是挑战者手中最孔武有力的兵器,而他所要挑战的擂主,同样拥有令人胆寒的算力之刃。唯一的“优势”是,“敌明我暗”,擂主的算力可以通过公开记录在区块链上的历史工作量证明和难度值推算出来,而挑战者的算力却是潜藏在夜幕的深处,悄无声息,非亮剑之时,不为人所觉察。
但是对于挑战者自己而言,他很了解自己掌握多少算力,也了解他所要挑战的擂主所拥有的算力。哈希算法是公平的,他心里很清楚,每一回合自己胜负概率比的期望值正是自己算力和擂主算力之比。
中本聪替他算了算挑战成功的概率:如果他的算力超过擂主的算力,那么他必定成功。如果他的算力不及擂主的算力,仍可一搏,但挑战成功的概率就会下降为算力之比的筹码数次方。
1656年,法国数学家、物理学家、国际压强单位“帕斯卡”的纪念对象布莱士·帕斯卡(Blaise Pascal, 1623-1662)给法国大律师、数学家、与“哥德巴赫猜想”齐名的世界数学三大猜想之一“费马大定理”的提出者皮耶·德·费马(Pierre de Fermat)的信中首次提到了同样的问题。
这个问题,后来被命名为“赌徒破产问题”(Gambler’s ruin),并成为一个统计学的概念。这个统计学概念常用于指出这样一个事实,即参与到一个负期望值游戏中的赌徒,只要一直赌下去终将破产,无论他们采用什么样的下注策略。
中本聪要计算的,正是作为当前最长链的诚实链,在和无数前赴后继的攻击者所展开的永无休止的算力对决之中,如何才能立于永不破产的不败之地。
【未完待续】(公众号:刘教链)

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇