導航:首頁 > 比特幣區 > 比特幣如何雙重支付

比特幣如何雙重支付

發布時間:2024-10-26 16:09:50

㈠ DoubleSpend雙重支付的定義是什麼

如果一個惡意用戶試圖將同一筆比特幣同時支付給兩個不同的收款人,這就是雙重支付。比特幣挖礦區塊鏈就是用來在網路上共同工作,來確定哪個交易將會被確認

㈡ 區塊鏈鼻祖比特幣之8:分叉帶來的雙花支付、51%攻擊與解決辦法

分叉

前面講到了比特幣通過區塊鏈+工作量證明的獨特設計來解決了時間順序,但是不能保證在同一時刻有兩個節點算出了正確的解,雖然這種可能性很低很低。這就帶來了區塊的分叉。

雖然說幾乎同時有兩個節點計算出這一數學問題的可能性微乎其微,但是仍然存在這樣的可能性,所以分叉就以為著同一個區塊的後面可能會跟上兩個不同的區塊。

規則的打破一直要到下一個區塊被人解開。則會立即轉向最長的區塊,而那些短的區塊則會被拋棄。數學問題使得區塊很難被同時拆解。要連續發生多次更是困難。最終區塊鏈會穩定下來。也就是說所有人對最後幾個區塊順序達成共識。分叉意味著,譬如,若你的交易出現在較短的支鏈,它就會失去進入區塊鏈的位置。一般而言,只代表他會回到未確認交易池。然後被納入到下一個區塊。

比特幣網路如何解決分叉帶來的雙花支付

可惜,交易失去區塊位置的潛在可能,給了本來定序系統防範的重復支付攻擊機會。考慮下面的一個攻擊者A,其首先用自己的比特幣交換B節點的貨物,其立即又支付給自己。然後其通過努力的製造更長的鏈條來讓自己的支付替代掉B節點的支付,從而實現了雙重支付,B節點既得不到錢,還失去了貨物。

這時交易會退回到未確認池中,因為A節點已經利用參照同樣的input交易取而代之。節點就會認為Bob的交易無效。因為已使用掉。

你可能會猜測A節點會預先的計算出一支區塊鏈,然後抓住時機發布到網路。但是每個區塊的數學謎題阻擋了這個可能性。如前面所訴,解開區塊是猜測出一個隨機數的過程。一旦得出答案,解出的哈希值就會成為指紋一樣的區塊識別。只要區塊內容有一丁點變化,下一個區塊的參考值就會完全不同。此機制的結果就是無法在區塊鏈中置換區塊。在得到前一個區塊之前,下位區塊無法被解開。前一個區塊的指紋也是雜湊函數的引數之一。

同時,該工作量證明機制還解決了在集體投票表決時,誰是大多數的問題。如果決定大多數的方式是基於IP地址的,一IP地址一票,那麼如果有人擁有分配大量IP地址的權力,則該機制就被破壞了。而工作量證明機制的本質則是一CPU一票。「大多數」的決定表達為最長的鏈,因為最長的鏈包含了最大的工作量。如果大多數的CPU為誠實的節點控制,那麼誠實的鏈條將以最快的速度延長,並超越其他的競爭鏈條。如果想要對業已出現的區塊進行修改,攻擊者必須重新完成該區塊的工作量外加該區塊之後所有區塊的工作量,並最終趕上和超越誠實節點的工作量。我們將證明,設想一個較慢的攻擊者試圖趕上隨後的區塊,那麼其成功概率將呈指數化遞減。另一個問題是,硬體的運算速度在高速增長,而節點參與網路的程度則會有所起伏。為了解決這個問題,工作量證明的難度(the proof-of-work difficulty)將採用移動平均目標的方法來確定,即令難度指向令每小時生成區塊的速度為某一個預定的平均數。如果區塊生成的速度過快,那麼難度就會提高。

如果有一台超級電腦,能夠在區塊解題中獲勝?

即便是一台超級電腦,或者時幾百上千台電腦也很難贏得解一個區塊的勝利,因為競爭對手不是任一台電腦,而是整個比特幣網路。你可以用買彩票來比擬。操作千百台電腦,如同買了千百張彩票一樣。

51%攻擊是指的什麼

根據前面的例子,我們知道,要想有50%的概率領先其他人解題得到勝利,就需要掌握全網50%以上的算力。要連續領先他人解出區塊,掌握的運算能力還需要高得多。所以區塊鏈中的交易是受到數學競賽所保護。惡意用戶必須和整個網路較量。區塊連接建立的結果,使得在支鏈越前方的交易越安全。惡意的用戶必須在更長的時間贏過全網路,來達成重復支付,替換前面的區塊鏈。所以,系統只有支端末尾易受到重復支付攻擊。這也是為什麼系統建議多等幾個區塊,才能確認收款成功。

個人博客:https://dreamerjonson.com/

㈢ 詳解比特幣的「51%攻擊」

剛接觸比特幣的時候,都聽過「51%攻擊」這個概念。簡單來說,就是如果某個節點擁有超過全網51%的算力,將能夠實現雙重支付、撤銷交易等操作,讓比特幣網路崩潰。

那麼,這個51%攻擊是什麼實現的?

假設一個場景,A用10比特幣向B購買一樣商品,步驟如下:

(1)A支付給B 10BTC;

(2)B收到10BTC確認收款後發貨(一般認為6次確認後交易就不可逆轉);

(3)A隨即創建另一筆交易,將同樣的10BTC支付給自己。

顯然,A想要撤銷第一筆交易,不用花錢就得到B的商品。為了達到這個目的,A進行了雙重支付,將同樣的10BTC支付給B和自己。在正常的比特幣網路中,一旦第一筆交易經過6次確認後就幾乎不可更改,後續的交易數據將繼續打包成新的區塊依次鏈接下去。可是,如果A用戶擁有51%的算力,情況將會發生有趣的變化,A可以實現雙重支付的目的。

具體過程如下:

假設第一筆交易被打包到100號區塊,當後面再增加5個區塊後,6次即可確認該交易,區塊如下圖所示:

這時,A又發起了一次給自己10BTC的交易。如果A向全網廣播,這筆交易不會被處理(因為找不到要花費的UTXO,10BTC支付給B的事實已經被全網確認了),所以A選擇不廣播,而是對主鏈進行「分叉」,生成另外一個100號區塊,並在其中打包第二筆交易,如下圖:

由此,產生了兩條子鏈。簡單描述起見,第一筆交易所在的叫C1,第二筆交易所在的叫C2。其他礦工繼續在C1上打包數據,而A則在C2上挖礦,兩條鏈開始賽跑。由於A具有超51%的算力資源,很快,C2的長度就會超過C1,如下圖:

這時,按照比特幣的最長鏈優先原則,其他礦工也會自動轉到C2上,使C2變成了主鏈。C1則會被拋棄,之前打包在C1上的所有交易(包括第一筆A支付給B 10BTC的交易),都會變為無效。結果是A不花一分錢就擁有了屬於B的商品,這就是「51%攻擊」。

當然,要真正實現51%攻擊是非常困難的,在比特幣網路中幾乎是不可能的,因為這需要消耗巨大的成本,跟攻擊成功後獲取到的收益相比,完全是得不償失。

51%攻擊能帶來的收益是非常有限的,只能做到:

1、修改自己的交易記錄,如雙重支付;

2、阻止確認部分或全部交易。

而下面這些即使是51%攻擊也沒法做到的:

1、憑空生成比特幣;

2、修改每個區塊產生的比特幣數量。

因此,51%攻擊成本巨大,收益卻很小,僅能實現「雙重支付」而已,所以51%攻擊很多時候又被稱為「雙花攻擊」。「雙花」是數字貨幣要解決的第一個核心問題,比特幣通過共享賬本和工作量證明共識機制比較完美地解決了這個問題。

㈣ 如何破解比特幣雙重支付難題

雙重支付主要有兩種情況:一種是讓礦工來幫實現,另一種就是成為一個礦工。2013年11月在 GHash.io 礦池就發現BetCoin存在雙重支付,網站使用的每一次交易都不需要等待確認就可以進行。
解決方案:
分析交易風險
支付渠道
由受信任的第三方簽名
遠程認證
ID驗證
等待確認
處罰雙重支付的區塊

㈤ DoubleSpend雙重支付是什麼

如果一個惡意用戶試圖將同一筆比特幣同時支付給兩個不同的收款人,這就是雙重支付。比特幣挖礦和區塊鏈就是用來在網路上共同工作,來確定哪個交易將會被確認

㈥ 誰知道比特幣是什麼它是怎麼運作的

比特幣是一種P2P形式的虛擬的加密數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。與所有的貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生。

比特幣及其眾多衍生品被稱為加密貨幣。 該系統使用了加密技術來生成新幣,以及進行轉帳驗證。 加密序列有以下幾個目的:使交易幾乎不可能被偽造;使貨幣銀行或貨幣錢包可作為數據輕松轉移;驗證比特幣從一個用戶轉移到另一個用戶。

在比特幣被使用之前,必須先由系統生成或挖礦得到新幣。 這些區塊的編碼和解碼過程需要大量的算力,那些成功生成新區塊的用戶將獲得一些比特幣或一部分交易費用作為獎勵。

這樣一來,將比特幣從一位用戶轉移到另一位用戶的同樣過程中,在同等基礎上也為貢獻給比特幣網路的更多算力創造了需求,從而生成出可供使用的新幣。

(6)比特幣如何雙重支付擴展閱讀:

比特幣的作用

比特幣就像現實中的金幣一樣:它們具有價值,也可以像金幣一樣用於交易。 可以透過比特幣進行投資——買入加密貨幣並從其價格波動中獲利。 每天都有新的地方將比特幣列入支付方式。

比特幣沒有一個正式價格。 比特幣的價格是根據人們願意支付的價格來確定的。比特幣的價格通常以一枚比特幣的花費來表示。 但是,交易所一般會允許以任何金額購買,即可以購買少於一枚比特幣。 Libertex 的價格指數就是即時查看比特幣價格的優質資源。

參考資料來源:網路-比特幣

㈦ 『雙花』攻擊

什麼是雙花?

「雙花」,即一筆錢被花了兩次或者兩次以上,也叫「雙重支付」。通俗的理解,「雙花攻擊」(double spend attack)又叫「雙重消費攻擊」,即同一筆資金,通過某種方式被花費了兩次,取得了超過該筆資金的服務。

在數字貨幣系統中,由於數據的可復制性,使得系統可能存在同一筆數字資產因不當操作被重復使用的情況。

雙花是如何發生的?

眾所周知,區塊鏈節點始終都將最長的鏈條視為正確的鏈條,並持續工作和延長它。如果有兩個節點同時廣播不同版本的新區塊,那麼將在率先收到的區塊基礎上進行工作,但也會保留另外一個鏈條,以防後者變成最長的鏈條。等到下一個工作量證明被發現,其中的一條鏈條被證實為是較長的一條,那麼在另一條分支鏈條上工作的節點將轉換陣營。

雙花簡單說就是花兩次。雙花是如何實現的呢?分為兩種情況:

(1)在確認前的雙花。零確認的交易本來就可能最後沒有寫入區塊鏈。除非小額,最好至少等確認即可規避此類雙花。

(2)在確認後的雙花。這就要控制超50%算力才能實施。即類似於一個小分叉,將給一個商店的交易放入孤立區塊中。這種確認後雙花,很難實施,只是理論上可行。

雙花攻擊案例

2018年曾經發生了比特幣黃金(BTG)的雙花攻擊。BTG當時是全球第27大加密貨幣,流通市值為50億人民幣。2018年5月16日以來,攻擊者對BTG網路成功實施了雙花攻擊,謀取了超過38.8萬的BTG的暴利。

攻擊者控制BTG網路上51%以上的算力,控制算力期間,把一定數量的BTG發給自己在交易所的錢包,這條分支我們命名為分支A。同時,又把這些BTG發給另一個自己控制的錢包,這條分支我們命名為分支B。分支A上的交易被確認後,攻擊者立馬賣掉BTG,拿到現金。隨後,攻擊者在分支B上進行挖礦,由於其控制了51%以上的算力,很快分支B的長度就超過了分支A的長度,分支B就會成為主鏈,分支A上的交易就會被回滾恢復到上一次的狀態。攻擊者之前換成現金的那些BTG又回到了自己手裡,這些BTG就是交易所的損失。這樣,攻擊者就憑借50%以上的算力控制,實現了同一筆加密貨幣的「雙花」。

㈧ 比特幣是如何去中心化的

比特幣白皮書《比特幣:一個點對點電子現金系統》中,中本聰詳細地解釋了他是如何設計這個系統的。在其中,他確立了此後所有區塊鏈系統的主要設計原則。

一個真正的點對點電子現金應該允許從發起方直接在線支付給對方,而不需要通過第三方的金融機構。

現有的數字簽名技術雖然提供了部分解決方案,但如果還需要經過一個可信的第三方機構來防止(電子現金的)「雙重支付」,那就喪失了(電子現金帶來的)主要好處。

針對電子現金會出現的「雙重支付」問題,我們用點對點的網路技術提供了一個解決方案。

該網路給交易記錄打上時間戳(timestamp),對交易記錄進行哈希散列處理後,將之並入一個不斷增長的鏈條中,這個鏈條由哈希散列過的工作量證明(hash-based proof-of-work)組成,如果不重做工作量證明,以此形成的記錄無法被改變。

最長的鏈條不僅僅是作為被觀察到的事件序列的證明,並且證明它是由最大的CPU處理能力池產生的。只要掌控多數CPU處理能力的計算機節點不(與攻擊者)聯合起來攻擊網路本身,它們將生成最長的鏈條,把攻擊者甩在後面。

這個網路本身僅需要最簡單的結構。信息盡最大努力在全網廣播即可。節點可以隨時離開和重新加入網路,只需(在重新加入時)將最長的工作量證明鏈條作為在該節點離線期間發生的交易的證明即可。

鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。

閱讀全文

與比特幣如何雙重支付相關的資料

熱點內容
快速比特幣時市報價 瀏覽:931
區塊鏈黑鑽價值 瀏覽:183
蘋果手機btc 瀏覽:935
澳門區塊鏈萬人會4月22日 瀏覽:93
現在國內虛擬貨幣狀況 瀏覽:110
比特幣金銀銅 瀏覽:392
看比特幣的行情在哪看 瀏覽:851
搭建比特幣私網 瀏覽:950
比特幣挖礦詳細圖文教程 瀏覽:612
離岸人民幣下跌比特幣 瀏覽:265
以太坊18年高點 瀏覽:950
區塊鏈的弱點 瀏覽:424
比特幣哪個部門管 瀏覽:570
bt下載區塊鏈 瀏覽:844
比特幣第三次減產准確時間 瀏覽:300
btc區塊模型 瀏覽:979
東華軟體跟ibm合作區塊鏈 瀏覽:697
數字貨幣奧 瀏覽:708
比特幣什麼時候開始漲價 瀏覽:978
飛天誠信真正的是區塊鏈公司嗎 瀏覽:673