作者HYL (@EVERYWHERE)
看板DigiCurrency
标题Re: [闲聊] 比特币的未来
时间Fri Nov 22 20:53:54 2024
※ 引述《ripple0129 (perry tsai)》之铭言:
: 其实我蛮想讨论BTC 51%攻击发生的可能性
: 在我看来发生51%的攻击机率是十分低的
: 而且当发生51%攻击时
: 我觉得目标也不是为了获利
: 而是为了毁灭BTC
: 要透过51%攻击的成本十分的高
: 真的是为了获利而攻击
: 会导致币价急遽下降
: 可能获利都比不上成本
: 我目前猜想未来可能发生51%攻击
: 可能是到政府层级
: 也就是假如美国将BTC作为战略储备
: 而部分国家跟进
: 随着时间慢慢转变成BTC似乎变成了法币的担保
: 则那些并没有将BTC做为战略储备的国家
: 相对性的法币价值偏弱
: 这时候透过毁灭BTC让拥有BTC国家丧失信用
: 这样子的51%攻击可能比较有合乎成本考量
: 不过这个未来还太远了就是
https://www.youtube.com/watch?v=ncPyMUfNyVM
大多数人对 51% 攻击的理解往往存在误解,认为攻击者只要掌握了大
部分算力,就可以随意在区块链的帐本上「乱涂鸦」。实际上,比特币
交易的完整性依赖於私钥签名,并不是光靠算力就能更改交易记录。因
此,51% 攻击真正能做到的,是以自己签名过的交易覆盖另一个自己签
名过的交易,实现所谓的「双重支付」(Double Spend)。
以下我们深入探讨 51% 攻击的本质及其运作原理。
比特币交易的选链机制
比特币区块链的核心是「最长链原则」,也就是所有参与者会选择累积
工作量(Proof of Work)最多的链作为正确的帐本。因此,当一笔交易
被打包进区块并新增到区块链上,其他矿工会以此区块为基础继续挖矿
,形成新的区块。这样一来,交易越多次被确认(被新区块引用),就
越难被覆盖或改写。
大多数的时候,交易所会按照交易的金额的大小,来要求确任的数量,
金额小的 1-3的区块就好,金额大的 6-10 都可能。
攻击者若要实施 51% 攻击,首先他要有一个足够大金额比特币来进行
双花,攻击者在主链上提交一笔交易(例如购买商品),并等待卖家确
认交易後发货。同时,攻击者在自己的攻击链上挖出区块,但不包含这
笔交易,或包含一笔相同数量但不同接收方的交易(例如发回自己的地
址)。
当攻击者的攻击链累积的工作量超过主链时,其他矿工会认为攻击链是
「正确的链」,并切换过去。原本的交易被覆盖,实现双重支付。
以 1BTC 的交易金额来看,要覆盖这笔交易,你需要连续挖出六个区块
,既使你有 51%的算力,成功率也只有 1.7% 的可能,你要赌上损失六
个区块的交易费,跟赌上成功的机率,来覆盖这笔 1BTC 的交易。
会不会有人这麽干?当然有可能有,但是又怎样,赌了这麽大的成本,
最後也不过就是盖掉改写了自己的几笔交易。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 221.116.95.200 (日本)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1732280036.A.CD0.html
1F:→ DarkerDuck: 其实我前面举的例子是用有接受单确认的交易所达成的 11/22 20:56
2F:→ DarkerDuck: 很多交易所接受BTC入帐并不需要六个确认 11/22 20:56
3F:→ DarkerDuck: 不过我也认为随着BTC的安全开销越来越低 11/22 20:58
4F:→ DarkerDuck: 交易所要求的确认会越来越多来抵销风险 11/22 20:58
5F:→ DarkerDuck: 像是BCH的安全开销就低,所以交易所都会要求一堆确认 11/22 20:59
6F:→ DarkerDuck: 纵使BCH也没有成功的51%攻击过也是一样 11/22 20:59
7F:推 qw5526259: 推~~~ 11/22 21:31
8F:推 Ayukawayen: 51%双重花费 最重要的其实不是成功机率,但51%攻击能 11/22 21:36
9F:→ Ayukawayen: 用的手法也不只双重花费这个显而易见的做法而已。 11/22 21:36
10F:→ Ayukawayen: 就..这个议题如果讨论简单模型都有点不近现实,但讨论 11/22 21:38
11F:→ Ayukawayen: 复杂模型一样是复杂到不近现实 XD 11/22 21:38
12F:→ HYL: 还可以写六个空白区块进去,把确认的交易全取消掉,造成市场 11/22 21:51
13F:→ HYL: 大乱 11/22 21:51
14F:推 Ayukawayen: 这就是我觉得比较单纯的51%算力利用方案:放空,做一 11/22 21:58
15F:→ Ayukawayen: 个51%攻击链置换,结算空单,离场。 11/22 21:59
16F:推 john371911: 原PO,写完六个空白区块後,如果没有继续控制51%算力 11/22 22:04
17F:→ john371911: 原本记忆池的交易继续入块确认,不会被取消,我觉得 11/22 22:05
18F:→ john371911: 市场不会乱吧。以前好像就有过这种故意挖空块的状况, 11/22 22:05
19F:→ john371911: 忘记是哪条链。 11/22 22:06
20F:→ DarkerDuck: 交易进到区块确认後就不会留在mempool里了 11/22 22:06
21F:推 nevenhsu: Defi会大乱,跨链也会出大事 11/22 22:14
22F:推 wahaha99: 51%攻击可以让自己假挖矿吧? 11/22 22:14
23F:→ john371911: 原来是指挖另一条空块的攻击链。我以为是单纯挖空块。 11/22 22:21
24F:→ john371911: 要完成这攻击感觉太难了。 11/22 22:21
25F:推 Ayukawayen: 长空块置换没有双花攻击,但还是会有很多系统会乱掉。 11/22 22:21
26F:→ Ayukawayen: 对喔,Defi光时间戳就死一片了 -.- 但那是ETH系的在玩 11/22 22:22
27F:→ Ayukawayen: BTC和支付型影响比较小,重新广播大部份可以最终确认 11/22 22:24
28F:推 jugu: 目标当然不会是那几笔交易,是媒体助攻下崩溃的信心 11/22 22:36
29F:推 sdtty: 今天美国ETF买了1B耶 怕啥崩溃 先赚到100万美金再说阿 11/22 23:09
30F:→ sdtty: 大户都傻屯 要一起坐庄拉盘 散户不要自己吓自己 11/22 23:10
31F:→ azuel: 1. 51%攻击只是指发起攻击的必要条件,却不是充分条件 11/22 23:47
32F:→ azuel: 2. 双花以外的攻击难度将是双花攻击难度的多量级以上 11/22 23:47
33F:→ azuel: 假如让地球被微型黑洞击中是BTC的简单双花攻击难度 11/22 23:49
34F:→ azuel: 那双花以外的严重攻击就是要让地球自然被多个微型黑洞击中 11/22 23:49
35F:→ azuel: 这种事情就是"就理论上来说他不是不存在,但期望值来说低" 11/22 23:50
36F:→ azuel: 具体有多低?低到你应该先担心明天走在路上被小行星砸到 11/22 23:51
37F:→ azuel: 假如简化简化再简化的话,深度2 blocks的reorg攻击的意思呢 11/22 23:52
38F:→ azuel: 就是往回捏造两个已经发生过的block再抢在别人前hash下一个 11/22 23:52
39F:→ azuel: 假设别人用10分钟会找到下一个block的话 11/22 23:53
40F:→ azuel: 这种攻击就需要在10分钟内hash出三个block 11/22 23:53
41F:→ azuel: 单纯拥有51%的算力要作到深度比较深的攻击还得看运气 11/22 23:54
42F:→ azuel: 拥有这样算力的人去拼这个运气摧毁BTC会对自己造成最大伤害 11/22 23:54
43F:→ azuel: 当然我上面的说明方式并不精确也不是唯一的攻击概念 11/22 23:55
44F:→ azuel: 用这个大致解说攻击的难度与成本应该足够了 11/22 23:55
45F:→ azuel: 这种攻击的成本和难度远高於要破坏现有金融系统的成本 11/22 23:56
46F:→ azuel: 担心这种事情发生的风险,不如担心这种事情"不发生的风险" 11/22 23:57
47F:→ azuel: "不发生的风险"就是错估了风险之後选择不参与正和赛局 11/22 23:58
48F:→ azuel: 也就是担心了半天之後看别人搭火箭飞走,自己啥都没 11/22 23:58
49F:推 azuel: 喔打个补钉,当然风险不是只有这一种,所以不是劝人买喔 11/23 00:05
50F:→ azuel: 就攻击的难度来说,门槛最低的BSV显然是最先遭受攻击 11/23 00:06
51F:→ azuel: 即使如此BSV也没有被毁灭,而下一个应该担心的是BCH不是BTC 11/23 00:07
52F:→ azuel: BCH的hashrate大概是BSV的3~8倍,BTC则是BCH的250~300倍 11/23 00:10
53F:→ azuel: 这个差距很显然应该担心这个问题的并不是BTC 11/23 00:12
54F:→ xluds24805: 有 51% 应该可以 reject 掉别人挖出来的区块吧? 11/23 01:08
55F:→ azuel: 所有的区块都是某一个算力reject掉别人挖出来的区块的胜者 11/23 01:25
56F:推 sdtty: 杞人忧51 11/23 07:47
57F:→ sdtty: 傻人吹百万 11/23 07:47
58F:推 ripple0129: 其实就是双花就够了,如我说的,当比特币作为担保存 11/23 16:57
59F:→ ripple0129: 在,则能双花,BTC能够作为担保的安全性就丧失,所以 11/23 16:57
60F:→ ripple0129: 说实行51%攻击就是为了毁灭而不是获利了。 11/23 16:57
61F:→ azuel: 发生极度偶发性的双花也不会毁灭,并且有实际利益的双花 11/23 20:30
62F:→ azuel: 是可以被特定出对象的,因为他用一套货币消费两次 11/23 20:30
63F:→ azuel: 这种就可以用另外的会计系统当作呆帐来处理 11/23 20:30
64F:→ azuel: 然後促使BTC去针对这部份加强防御 11/23 20:31
65F:→ azuel: 当最大的伤害的最大机率局限在双花的时候,毁灭性并不真大 11/23 20:31
66F:→ azuel: 现实世界的银行错帐天天也都在发生,银行也没直接破灭 11/23 20:33
67F:→ azuel: 当然不是说BTC发生了这种事情无所谓,但最大伤害其实有限 11/23 20:33