理解雙重支付:區塊鏈技術中的一個關鍵安全挑戰

什麼是雙重支付?

雙重支付代表了數字貨幣系統中的一個基本安全挑戰,在這個系統中,相同的資金可以在同一時間段內被多次使用。如果沒有適當的保護措施,任何未能解決這一漏洞的協議都會讓用戶對他們的資金是否已合法轉移或在其他地方被欺詐性復制感到不確定。

在加密貨幣生態系統中,防止數字單位的重復至關重要。如果一個用戶能夠接收10個單位並簡單地復制粘貼它們以創建100個單位,系統將會崩潰。同樣,如果這10個單位能夠同時發送給兩個不同的收件人,系統的完整性也將受到損害。爲了使數字貨幣正常運作,必須實施強大的機制以防止這種可能性。

防止雙重支付的方法

集中式解決方案

防止雙重支付的集中式方法相對簡單易行。它們涉及由單一實體或組織管理系統,並控制數字貨幣單位的發行和分配。大衛·喬姆的eCash就是這種方法的一個顯著例子。

爲了發行模仿實物現金特性的數字資產(,允許匿名和點對點交易),銀行可能會使用盲籤名——這一概念是由密碼學家大衛·喬姆在他1982年的論文《不可追蹤支付的盲籤名》中提出的。

例如,如果用戶請求$100 的數字貨幣,銀行會生成隨機數字作爲唯一標識符,每個標識符分配一個特定的值。爲了維護隱私並防止追蹤,用戶在將這些數字發送到銀行進行籤名之前,爲每個數字應用一個盲因子。然後,銀行對這些數字進行籤名,確認每個數字可以兌換指定的金額,並相應地從用戶的帳戶中扣款。

在使用這些資金時,用戶去除盲因以揭示唯一標識符,收款人必須立即與銀行核實以防止雙重支付。一旦使用,這些數字“支票”將失效,未來交易必須請求新的支票。

雖然Chaum的電子現金提供隱私優勢,但其可靠性完全依賴於中央銀行。這些數字支票僅因銀行同意兌現而具有價值,用戶仍然依賴於銀行的持續運營——這正是加密貨幣旨在消除的依賴。

去中心化解決方案

在沒有中央權威的情況下,防止雙重支付面臨更大的挑戰。在去中心化系統中,網路參與者必須建立共識規則,以抑制欺詐行爲並激勵誠實參與。

比特幣的突破性創新在於其解決了雙重支付問題。盡管在原始白皮書中沒有明確命名,佐藤中本提出的數據結構——現在稱爲區塊鏈——解決了這個關鍵問題。

區塊鏈作爲一個具有獨特屬性的專業數據庫。網路參與者(節點)與其他參與者同步該數據庫的副本,創建一個分布式帳本。這個公開透明的系統允許所有參與者從創世區塊開始驗證完整的交易歷史,使得像雙花這樣的欺詐活動可被檢測和防止。

當一筆交易被廣播到網路時,它並不會立即得到確認,而是必須首先通過挖礦過程被包含在一個區塊中。接收者應在交易被添加到區塊鏈並獲得足夠的確認後,才認爲交易有效。如果沒有這些確認,接收者面臨風險,可能無法收到承諾的資金,如果發送者試圖在其他地方花費相同的幣。

一旦得到適當確認,幣的所有權就會轉移到新用戶,整個網路都可以驗證這一變化。這就是爲什麼在接受支付之前建議等待多個確認——每增加一個區塊就增加了修改交易歷史所需的計算工作量。

雙重支付攻擊在比特幣網路上

比特幣的共識機制有效地防止了雙重支付,只要協議正常運行。當接收者等待足夠的確認(通常是六個區塊或大約一個小時)時,發送者無法輕易地逆轉交易,而不需要指揮大量的計算能力。

然而,幾種類型的雙重支付攻擊專門針對未確認的交易。在等待區塊確認不切實際的情況下——例如在快餐店的高峯時段或進行低價值購買時——接受未確認交易的商家容易受到雙重支付攻擊。

有三種常見的雙重支付方法:

  • 51%攻擊: 當一個實體控制了網路總哈希率的50%以上時,就會發生這種情況,這使他們能夠操縱交易順序甚至撤銷最近的交易。雖然在比特幣網路上由於其龐大的哈希算力不太可能發生,但較小的區塊鏈網路仍然容易受到這種威脅。

  • 競賽攻擊: 當攻擊者同時廣播兩個相互衝突的交易時發生,最終只有一個被確認。攻擊者向商家發送支付,同時將相同的資金以更高的交易費用發送回自己。更高費用的交易更有可能優先被確認,從而使對商家的支付無效。此攻擊特別針對接受未確認交易的商家。

  • Finney攻擊: 需要攻擊者預挖一個包含將幣發送回自己的交易的區塊,而不立即廣播它。他們首先在一筆常規交易中花費這些相同的幣(支付給商家),然後發布他們預挖的區塊,從而覆蓋對商家的支付。這種攻擊需要精確的時機,並且還依賴於商家接受未確認的交易。

正如這些攻擊方法所示,等待多個區塊確認顯著降低了成爲雙重支付攻擊受害者的風險。

數字貨幣用戶的實際影響

雙重支付對數字貨幣系統構成了重大挑戰,因爲它允許惡意行爲者多次花費相同的資金以獲得經濟利益。如果沒有有效的對策,這種漏洞將削弱整個系統的信任。

盲籤名的發展幫助解決了中心化金融系統的許多局限性。然而,真正的突破在於工作量證明機制和區塊鏈技術的創建,這使得比特幣作爲一種強健的去中心化貨幣出現。這一創新激勵了數千個加密貨幣項目,每個項目都在這些基礎安全原則的基礎上進行構建。

對於加密貨幣用戶來說,了解雙重支付的風險和交易確認的重要性對於安全參與數字經濟至關重要。在接收重大支付時,請始終等待推薦的確認次數,然後再將交易視爲最終交易——比特幣通常需要六次確認,而其他加密貨幣根據其安全模型則需要不同的確認次數。

BTC1.65%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)