雙花問題描述了控製或防止數字內容複製的難度,尤其是與數字貨幣相關的內容。傳統金融系統通過使用受信任的第三方(例如銀行和支付處理商)並依靠政府來控制這些第三方的活動來解決這個問題。
我們在這裡寫了更多關於雙花問題的文章。
在比特幣之前還有其他幾次嘗試創建數字貨幣,但沒有一個在不使用受信任機構的情況下解決了雙花問題。中本聰稱這個受信任的第三方的存在是每個比特幣前輩的一個嚴重缺陷。比特幣的主要創新之一在於對雙重支出問題的“去信任”解決方案。
比特幣使用分佈式賬本來記錄網絡上的所有交易。該分類帳採用區塊鏈的形式,這是一個大型數據庫,其中包含稱為塊的帶時間戳的交易包。
分佈式賬本
區塊鍊是一種分佈式記錄分類帳,由去中心化在世界各地的數万台稱為節點的計算機獨立存儲。每個節點存儲整個交易歷史,所有節點一起更新註冊表的狀態,在創建新的交易塊時向其中添加新的交易塊。
“節點可以隨時離開網絡並重新連接到它,使用最長的鏈版本來恢復丟失的交易歷史,”
– 中本聰,從介紹到比特幣白皮書。 2008 年10 月31 日。
由於每個節點獨立存儲自己的區塊鏈副本,因此它們必須有辦法就區塊鏈的有效狀態和每個比特幣的所有權達成一致。比特幣網絡規則提供了一種確定區塊鏈有效狀態的客觀方法。
由於每個節點都包含比特幣交易的完整歷史,它們可以驗證沒有硬幣被花費兩次,並且所有硬幣都是根據比特幣發行計劃發行的。擁有自己節點的用戶可以獨立驗證其對比特幣的所有權,而無需依賴任何第三方。
時間戳
區塊鏈由區塊組成,每個區塊都有一個時間戳。因此,塊以嚴格的線性和時間順序組織。如果兩個交易嘗試花費相同的比特幣,這種設計允許所有節點客觀地確定這些交易中的哪一個是有效的。在比特幣網絡中,與傳統的支付系統不同,對於哪些交易被認為是有效的,哪些不是,沒有分歧。因此,無需當局或受信任的仲裁員來解決爭議。
如果一筆交易包含在一個區塊中並記錄在區塊鏈上,那麼它在客觀上是有效的。任何嘗試花費相同比特幣的期貨交易都將被網絡上的所有節點拒絕。
確認
比特幣交易在廣播到網絡後並非立即不可更改。它們首先被添加到內存礦池中,即待處理的交易列表。
內存礦池交易可以被雙花或覆蓋,所以你不應該依賴它們。
一旦添加到區塊中,交易就被視為“已確認”。在包含交易的區塊之後添加到區塊鏈的每個區塊都會向該交易添加另一個確認。儘管比特幣交易在收到第一次確認後即被視為已完成,但具有六次或更多確認的交易通常被視為最終交易。
重組
大多數比特幣用戶更願意等待六次確認,因為如果最近的區塊不再是其最長分支的一部分,則可以從區塊鏈中刪除。這樣的塊稱為孤塊,來自它的所有交易都返回到內存礦池,必須再次等待確認。這是一種罕見的情況,稱為重組。
重組可以在一定程度上解決雙花問題。例如,假設Alice 創建了一個發送Bob 1 BTC 的交易。當這筆交易在內存礦池中等待確認時,Alice 創建了另一筆交易,她將相同的1 BTC 發送給Charlie。然後交易Alice -> Bob 被包含在區塊中。然而,由於Alice 的意外或惡意,另一位礦工在短時間內挖出了兩個區塊,其中一個包括Alice -> Charlie 的交易。 Bob 的交易將不被確認,而Charlie 的交易將被確認。
為避免與重組相關的風險,比特幣用戶通常會等待2-6 次確認,然後再考慮交易是否最終確定。比特幣區塊鏈中六個區塊進行重組的可能性極小。在上面的例子中,如果Bob 正在等待6 次確認,他會看到他的交易進來了,但很快又再次未經確認。他會意識到愛麗絲還沒有收到付款。
資訊來源:由0x資訊編譯自BITNOVOSTI。版權歸作者Vargoz所有,未經許可,不得轉載