交易和 51% 攻擊?
我對比特幣區塊鏈的工作原理有一個非常基本的了解,並試圖了解在 51% 攻擊中操縱交易的工作原理。
我剛剛看了一段影片,上面說 51% 的攻擊無法從人們的錢包中竊取比特幣。這是真的?
我的理解是,如果有人成功實施了 51% 攻擊,即他們創建了比目前鏈更長的鏈,那麼他們很可能會操縱在原始真正的比特幣鏈中已確認的一項或多項交易。
我認為他們不能直接從他們的錢包中竊取某人的比特幣的原因是因為他們無法創建交易以從該人的錢包中發送比特幣,因為他們需要他們的私鑰才能做到這一點。
也就是說,如果威廉向莎拉發送了 1 個比特幣,而莎拉之前錢包裡有 0 個比特幣。他們不能簡單地從他們的新/操縱鏈中刪除該交易嗎?這將意味著莎拉錢包中不再有 1 個比特幣,有效地從她那裡竊取了 1 個比特幣。
威廉仍然擁有 1 個比特幣,這意味著他現在可以重複使用這 1 個比特幣。我認為這就是他們所說的雙花的意思,即他現在可以再次花費同樣的 1 個比特幣。
如果這是可能的,那麼區塊鏈會將莎拉的錢包視為擁有 0 個比特幣。如果在稍後的區塊中,莎拉將那 1 個比特幣發送給她的朋友海倫,那麼該交易不會無效嗎?如果是這樣,這是否意味著創建假區塊鏈的人也必須刪除該無效交易?
如果是這種情況,它可能會產生連鎖反應,其中多個未來交易現在無效。Helen 的錢包(就像 Sarah 的錢包一樣)可能只包含 Sarah 發送給她的 1 個比特幣,因此如果 Helen 將該比特幣發送給其他人,那麼該交易現在也將無效。
我剛剛看了一段影片,上面說 51% 的攻擊無法從人們的錢包中竊取比特幣。這是真的?
是的,51% 攻擊無法竊取他人鑰匙控制的硬幣。當您使用您的私鑰簽署交易時,您會將整個交易數據作為消息包含在簽名散列算法中。因此,更改交易中的任何數據(輸出值、接收方地址等)將使簽名無效,因此交易無效。攻擊者只能進行諸如簽名延展性之類的外觀更改(簽名
S
的組件可以替換為-S
),這也可以由任何其他礦工或中間節點來中繼您的交易來完成。我的理解是,如果有人成功實施了 51% 攻擊,那麼他們很可能操縱了一項或多項已在原始真正的比特幣鏈中確認的交易。
如上所述,攻擊者無法操縱交易。攻擊者絕對可以做的是從他們的鏈版本中排除交易,從而引發審查攻擊。
當您閱讀諸如“攻擊者從 51% 攻擊中竊取硬幣”之類的新聞文章時,這並不意味著他們更改了交易數據。這就是攻擊的發生方式:攻擊者將一些硬幣發送到交易所。這在比特幣區塊鏈上得到認可,然後反映在你的交易賬戶中。現在在交易門戶上,攻擊者將 BTC 換成任何其他代幣,比如 ETH,然後將 ETH 代幣從交易賬戶提取到他們的個人錢包中。現在,他們發起了 51% 的攻擊,並創建了一個不同版本的比特幣區塊鏈,其中排除了他們將硬幣發送到交易所的交易。在您的鏈成為最長鏈後,它將被接受為主鏈。因此,您最終獲得了 BTC 和您從交易所獲得的 ETH。雖然我已經舉了比特幣的例子,
這將意味著莎拉錢包中不再有 1 個比特幣,有效地從她那裡竊取了 1 個比特幣。
是的,這是我上面提到的同一個例子。然而,隨著交易確認的增加,攻擊者越難排除交易。如果交易有數十個確認,那麼以略高於 50% 的雜湊率進行重組將需要幾天甚至幾週的時間。因此,最近的交易比以前的交易更容易受到攻擊。
我認為您的其他問題都遵循類似的語氣。等待 6 次確認是最佳實踐,但如果發送的數量確實足夠大,則謹慎的做法是等待數十甚至數百次確認。