怎樣防止一個比特幣被使用兩次?

買賣虛擬貨幣

怎樣防止一個比特幣被使用兩次?比特幣區塊鏈作為一個去中心化的點對點電子現金系統,主要依靠UTXO和時間戳來應對"雙花"問題。"雙花"是指同一筆款項被重複支付了兩次,也就是雙重支付的情況。

比特幣區塊鏈作為一個去中心化的點對點電子現金系統,主要依靠UTXO (UnspentTransaction Output)和時間戳來應對"雙花"的問題。 當某一筆比特幣交易被建立一簽名一廣播到區塊鏈網路之中後,每一個節點(比特幣交易參與者)會對這筆交易進行驗證,看交易的輸出是否存在於UTX0 (Unspent Transaction Output ),即"未花費過的交易輸出"中。

如果A擁有的1BTC被證實確實是"未花費過的交易輸出",他要是將這1BTC同時轉賬給Bl、B2兩人,挖礦節點會選擇性地記錄一筆交易,或許是最先收到的,或許是手續費更高的。

如果這兩筆交易是先後被挖礦節點接收到的,那依據時間戳,先被接收到的交易會被驗證成功,而後被接收到的交易則會因交易輸入己經不存在於UTX0而驗證失敗。

如果兩個挖礦節點分別同時記錄了 "From A To B1"和"From A To B2"這兩筆交易,並且這兩筆交易被分別證明是合法的,此時這兩個挖礦節點會將各自挖到的新區塊廣播到全網。

這時鏈就會分叉。其他參與挖礦的節點會隨機選擇一條鏈繼續挖礦,哪條鏈先產生了新區塊,哪條鏈就會成為當前最長的鏈,記錄在最長鏈上的交易最終會被認證是成功的,而記錄在另一條鏈上的交易則不會被認證。

一筆交易建立後若未被記錄進區塊中,為0確認;若被記錄進區塊中,則為1確認。為防止惡意製造最長鏈來進行"雙花",建議等待6個新區塊產生,也就是"6確認"之後再完成交易。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;