📢 #Gate广场征文活动第三期# 正式啓動!
🎮 本期聚焦:Yooldo Games (ESPORTS)
✍️ 分享獨特見解 + 參與互動推廣,若同步參與 Gate 第 286 期 Launchpool、CandyDrop 或 Alpha 活動,即可獲得任意獎勵資格!
💡 內容創作 + 空投參與 = 雙重加分,大獎候選人就是你!
💰總獎池:4,464 枚 $ESPORTS
🏆 一等獎(1名):964 枚
🥈 二等獎(5名):每人 400 枚
🥉 三等獎(10名):每人 150 枚
🚀 參與方式:
在 Gate廣場發布不少於 300 字的原創文章
添加標籤: #Gate广场征文活动第三期#
每篇文章需 ≥3 個互動(點讚 / 評論 / 轉發)
發布參與 Launchpool / CandyDrop / Alpha 任一活動的截圖,作爲獲獎資格憑證
同步轉發至 X(推特)可增加獲獎概率,標籤:#GateSquare 👉 https://www.gate.com/questionnaire/6907
🎯 雙倍獎勵機會:參與第 286 期 Launchpool!
質押 BTC 或 ESPORTS,瓜分 803,571 枚 $ESPORTS,每小時發放
時間:7 月 21 日 20:00 – 7 月 25 日 20:00(UTC+8)
🧠 寫作方向建議:
Yooldo
比特幣歷史上的重復交易漏洞:成因、影響與未來風險分析
比特幣中的重復交易:一個有趣而低風險的缺陷
概述
比特幣交易通常通過引用前一筆交易的ID來使用未花費的輸出。這些輸出只能使用一次,否則會導致雙重支付問題。然而,比特幣歷史上確實出現過兩組完全相同的交易。這種情況之所以可能發生,是因爲coinbase交易沒有輸入,而是直接產生新幣。因此,兩個不同的coinbase交易有可能發送相同數量到相同地址,構建方式完全相同,從而生成相同的交易ID。
這兩組重復交易發生在2010年11月14日至15日之間,時間跨度約16小時。第一組重復交易的ID爲d5d2....8599,盡管它在區塊鏈上首次出現時間晚於另一個重復交易e3bf....b468。
重復交易詳情
這兩組重復交易分別出現在四個不同的區塊中。區塊瀏覽器在顯示這些交易時會有不同的默認行爲,有些會顯示較早的區塊,有些則顯示較晚的區塊。
在這四個相關區塊中,只有一個區塊(91,812)包含了其他交易,將1 BTC和19 BTC合並成了一個20 BTC的輸出。
這些輸出是否可以使用?
每個重復交易的價值爲50 BTC,總共涉及200 BTC(或100 BTC,取決於理解方式)。截至目前,這200 BTC都未被使用。理論上,擁有相關私鑰的人可以使用這些比特幣,但一旦使用,重復的50 BTC將無法再次使用並丟失,因此實際上只有100 BTC可能被找回。
重復交易的問題
重復交易會給錢包和區塊瀏覽器帶來混亂,也會導致比特幣來源不明確。它還可能被用於一些攻擊和漏洞利用,比如對交易所進行欺騙性存款。
解決方案
爲了解決重復交易問題,2012年3月實施了BIP30軟分叉,禁止使用重復交易ID,除非前一個交易已被使用。同年9月,這一規則被進一步修改,適用於所有區塊。
2013年3月,BIP34軟分叉要求coinbase交易包含區塊高度,這實際上解決了重復交易問題。此後,比特幣核心軟件停止了BIP30檢查,因爲它不再必要。
潛在的未來問題
盡管BIP34解決了大部分問題,但在BIP34激活之前的一些區塊中,coinbase交易的scriptSig第一個字節恰好與未來的有效區塊高度匹配。這意味着在未來某些特定區塊高度上,仍然有可能出現重復交易。
下一個可能出現重復交易的區塊是1,983,702,預計在2046年1月左右產生。但是,利用這個漏洞的成本非常高,需要燒掉大量比特幣,而且對攻擊者幾乎沒有實際好處。
結論
考慮到復制交易的難度、成本以及利用機會的稀少性,這個漏洞並不構成比特幣的主要安全威脅。然而,由於其獨特性和長期存在的可能性,它仍然是一個有趣的技術問題。開發者們可能會在2046年之前尋求徹底解決這個問題,可能通過軟分叉來實現。一種潛在的解決方案是強制執行SegWit承諾。