Doublespend

通過在 51% 攻擊上花費自己的雙倍收益是否有所收穫?

  • July 1, 2017

我試圖了解雙重支出可能產生的後果。

假設我擁有 51% 的網路並擁有三個比特幣錢包。如果我將錢包 A 中的硬幣加倍花到 B 和 C - 我會加倍我的硬幣嗎?

我知道它們並沒有真正翻倍,但如果沒有人注意到,我是否可以將它們發送到 Coinbase 錢包並將雙倍金額轉換為美元?

如果不是,攻擊者實際上是如何從雙重支出中賺錢的?

雙花不是翻倍,而是使用相同的 UTXO 兩次。所以,你不會通過雙倍花費自己的硬幣來獲得任何東西。

讓我用一個簡單的例子來解釋一下雙花是如何工作的:

讓我們Alice成為試圖雙花一些硬幣的攻擊者。AliceBob’s 商店買一些商品。為了支付貨款,她創建了一個交易,TX1,從上一筆交易的 UTXO 中支出TX0,並支付給Bob。稍後,Alice生成第二筆交易,TX2,該交易也花費了 ,TX0但這次將所有的錢都還給了她自己。在下面,您可以看到所描繪的場景。

在此處輸入圖像描述

現在,Alice根據她的算力以及是否TX1已包含在區塊鏈中,有多種交易雙花方式。由於您假設您擁有 51% 的網路雜湊算力,我們可以假設Alice可以比其他任何人以更大的機率探勘一個塊,因此我們認為這是理所當然的,僅分析另一個因素,即TX1.

TX1 未確認

如果我們假設這TX1仍未得到確認,但它已被廣播並且節點知道它,則可以通過將其包含在她探勘的下一個區塊中Alice來進行雙花。如果 Bob 已經接受了零確認交易作為付款並且在包含在區塊鏈中之前已經傳遞了商品,那麼將獲得商品和雙花金額。TX1``TX2``TX2``Alice``TX1``Alice

TX1 確認

如果TX1得到確認,要麼是因為另一位礦工在開采之前Alice開采了一個包含交易的區塊,因為Alice具有更大的雜湊率,她可以通過在前一個區塊的頂部繼續探勘來克服前一個區塊。這將創建一個區塊鏈分叉,最終Alice分支將比另一個更長,因為她的雜湊率更大。請注意,如果Alice經常發生大量分叉,其中可以辨識出雙重支出交易,那麼會破壞對貨幣的信任。

最後,作為Alice最強大的礦工,她可以在不分叉鏈的情況下僅包含雙花交易,方法是將 a 包含TX2在包含的同一分支TX1中。請注意,這違反了區塊鏈包含規則,因為兩個交易不能從同一來源消費。因此,網路的其餘部分將不接受此塊為有效。然而,由於Alice擁有更大的雜湊算力,她可以繼續前進並在該區塊上進行探勘。在這種情況下,可能會發生兩件事,要麼失去對貨幣的信任,因為更多的 51% 的雜湊算力用於作弊,要麼包含這兩個交易的分支被網路的其餘部分忽略。

總之,控制如此多的雜湊算力的人沒有好處。

引用自:https://bitcoin.stackexchange.com/questions/55035