作者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/m.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