Doublespend

為什麼只有最早的交易才對雙花重要?

  • June 18, 2017

在比特幣論文的第 2 頁上,它說:

問題當然是收款人無法驗證其中一位所有者沒有雙花硬幣。一個常見的解決方案是引入一個受信任的中央機構或鑄幣廠,檢查每筆交易是否存在雙重支出。每次交易後,必須將硬幣歸還給鑄幣廠以發行新硬幣,並且只有鑄幣廠直接發行的硬幣才被信任不會被雙花。這種解決方案的問題在於,整個貨幣系統的命運取決於運營鑄幣廠的公司,每筆交易都必須通過它們,就像銀行一樣。

我們需要一種方法讓收款人知道以前的所有者沒有簽署任何早期的交易。 就我們的目的而言,最早的交易才是最重要的,所以我們不關心後來的雙花嘗試。[強調] 確認沒有交易的唯一方法是了解所有交易。在基於鑄幣廠的模型中,鑄幣廠知道所有交易並決定哪個先到。要在沒有受信任方的情況下完成此任務,必須公開宣布交易[1],並且我們需要一個系統讓參與者就接收交易順序的單一歷史達成一致。收款人需要證明在每筆交易時,大多數節點都同意這是第一個收到的。

為什麼只有最早的交易才對雙花重要?我認為這將是最新的,因為之前的所有者會一直檢查到那時。但即使這樣也有缺陷……我們需要檢查所有內容。

是不是因為硬幣是交易清單,只有第一個沒有經過驗證?

“雙花”是指嘗試將相同的資金花兩次。特別是在比特幣中,當使用者發布兩個由於嘗試使用相同的未使用交易輸出作為輸入而發生衝突的交易時,就會發生這種情況。顯然,這兩個交易中只有一個是有效的。

在比特幣發布之前,雙花問題的解決方案是指定一個中心參與者來決定兩個交易中的哪一個優先。中心演員將通過宣布它首先看到的兩個中的哪一個來做到這一點。

“首次看到”的行為最初是在節點行為中明確編碼的:節點不會接受衝突的交易進入他們的記憶體池(未確認交易的臨時儲存)。然而,這導致了錯誤的假設,即零確認交易可能是可靠的,而實際上雙花問題是通過礦工將交易收集到區塊中進行確認來解決的。區塊可能只包含兩個衝突交易之一,否則該區塊無效。因此,區塊鏈通過在沒有中央參與者的情況下匯聚在交易的公共日誌上來指定交易的優先級。

在過去的幾個月裡,我們已經看到“首次看到”範式顯著軟化,因為由於對區塊空間的高需求,雙花(未經確認的交易)變得或多或少變得微不足道。隨著使用者以更高的費用(即雙花)更新交易變得越來越普遍,“先見”範式正在逐漸被淘汰,取而代之的是“先包含”的事實機制。假設理性的礦工行為首先選擇最有利可圖的交易,我們最終將收斂到一個完整的費用替代系統。

換句話說,當白皮書描述比特幣系統以“首次看到”的方式創建收斂歷史的要求時,它描述了一種簡化的情況,沒有考慮到區塊空間競爭的網路動態。從今天的角度來看,這應該理解為“首次確認”。

引用自:https://bitcoin.stackexchange.com/questions/54376